Гость
Форумы / MySQL [игнор отключен] [закрыт для гостей] / помогите сделать запрос / 2 сообщений из 2, страница 1 из 1
18.02.2003, 03:28
    #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
18.02.2003, 11:44
    #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
Форумы / MySQL [игнор отключен] [закрыт для гостей] / помогите сделать запрос / 2 сообщений из 2, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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