powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / помогите сделать запрос
2 сообщений из 2, страница 1 из 1
помогите сделать запрос
    #32107636
deadface
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
есть таблицы

t1:

| id |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |

и

t2:
| id | num |
------------
| 1 | 0 |
| 2 | 3 |
| 3 | 0 |
| 4 | 3 |
| 5 | 0 |



нужно взять все t2.id такие что t2.num = 3
и выбрать все t1.id такие что t1.id != t2.id ( t2.id из верхнего условия)

это все нужно запихнуть в один запрос :)

в результате должно получиться

t_resultat:
| id |
-----
| 1 |
| 3 |
| 5 |
...
Рейтинг: 0 / 0
помогите сделать запрос
    #32107781
Фотография mahoune
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Используем http://www.mysql.com/doc/en/JOIN.html#IDX1390]LEFT JOIN[]/url

Где-то так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
create temporary table t1(id int);
create temporary table t2(id int, num int);

insert into t1 values ( 1 );
insert into t1 values ( 2 );
insert into t1 values ( 3 );
insert into t1 values ( 4 );
insert into t1 values ( 5 );
insert into t1 values ( 6 );
insert into t1 values ( 7 );
insert into t1 values ( 8 );

insert into t2 values ( 1 , 0 );
insert into t2 values ( 3 , 0 );
insert into t2 values ( 5 , 0 );
insert into t2 values ( 2 , 3 );
insert into t2 values ( 4 , 3 );

select * from t1;
+ ------+
 
| id   |
+ ------+
 
|     1  |
|     2  |
|     3  |
|     4  |
|     5  |
+ ------+
 

select * from t2;
+ ------+------+
 
| id   | num  |
+ ------+------+
 
|     1  |     0  |
|     3  |     0  |
|     5  |     0  |
|     2  |     3  |
|     4  |     3  |
+ ------+------+
 

select t2.id as id2, t2.num, t1.id as id1
from
t1 left join t2 on t1.id=t2.id
where
t2.id is null or (t2.num<> 3 );
+ ------+------+------+
 
| id2  | num  | id1  |
+ ------+------+------+
 
|     1  |     0  |     1  |
|     3  |     0  |     3  |
|     5  |     0  |     5  |
| NULL | NULL |     6  |
| NULL | NULL |     7  |
| NULL | NULL |     8  |
+ ------+------+------+
 
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / помогите сделать запрос
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]