|
MySQL и NOT IN
|
|||
---|---|---|---|
#18+
MySQL 5.0 или 4.1.1 Запрос SELECT * FROM t1 WHERE t1.f1 NOT IN (SELECT f2 FROM t2) выдаёт произвольный набор данных совершенно не отвечающий заданным критериям. Например: t1 Key Street --------------- 1 Абрамяна ул. 2 Афанасова ул. 3 Афганская ул. 4 Баграмяна ул. 5 Багратиона ул. 6 Болотная ул. . ........ . ........ 1000 Яровая ул. t2 Key StreetKey ----------------- 1 2 2 5 SELECT * FROM t1 WHERE Key NOT IN (SELECT StreetKey FROM t2); Key Street -------------------- Null Null Если вместо второго запроса поставить значение, то работает правильно. SELECT * FROM t1 WHERE Key NOT IN (2, 5); Key Street --------------- 1 Абрамяна ул. 3 Афганская ул. 4 Баграмяна ул. 6 Болотная ул. . ........ . ........ 1000 Яровая ул. Что за хрень такая? Может кто знает в чём грабель? Я понимаю, что можно извратиться и переписать запрос через LEFT JOIN, но мне интересно почему не работает NOT IN (SELECT... Ведь NOT IN (2, 5) работает. SELECT * FROM t1 WHERE NOT EXISTS(SELECT StreetKey FROM t2 WHERE t2.StreetKey=t1.Key) работает правильно! ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2004, 15:00 |
|
MySQL и NOT IN
|
|||
---|---|---|---|
#18+
У меня куча моменто в отчетах, где используется "NOT IN", посему решил проверить. Состряпал быренько запросцы и вот: 1) select kodtip, count(kodtip) from frut_t_adrt where kodtip not in (select kodbank from frut_t_bank) group by kodtip kodtip count(kodtip) 2) select kodtip, count(kodtip) from frut_t_adrt group by kodtip 3) select kodbank from frut_t_bank Результаты во вложенном файле (jpg-шник). Так что, как не трудно убедиться, все работает OK!!! Я использовал count(), чтоб убедиться, что все значения правильно отфильтровало. Я использую MySQL5.0.0a, тип таблиц MyISAM. Если хош могу дать детальное описание вышеиспользованных таблиц. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2004, 16:38 |
|
MySQL и NOT IN
|
|||
---|---|---|---|
#18+
sirsergioЯ использую MySQL5.0.0a, тип таблиц MyISAM. Интересный момент! Я использую InnoDB. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2004, 13:42 |
|
MySQL и NOT IN
|
|||
---|---|---|---|
#18+
5.0 и 4.1 еще альфы Им просто положено иметь какие-нибудь глюки. Глянь сюда http://bugs.mysql.com/bug.php?id=3646 Твой случай? Пишут что будет пач. И вообще любители альф - чаще заходите на http://bugs.mysql.com Жизнь коротка - потерпи немного :) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2004, 14:03 |
|
|
start [/forum/topic.php?fid=47&tid=1855163]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
34ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
others: | 313ms |
total: | 442ms |
0 / 0 |