|
|
|
| То есть... tbl1 содержит столбец aaa . tbl2 - bbb . Мне нужно вывести список всех тех из tbl1.aaa , которых нет в tbl2.bbb ... Это ведь можно одним запросом? Как? | |
|
|
|
|
|
|
|
для: Shorr Kan
(27.05.2006 в 19:56)
| | Версия MySQL какая используется - есть возможность использовать вложенные запросы? | |
|
|
|
|
|
|
|
для: cheops
(27.05.2006 в 21:55)
| | Есть... phpinfo говорит, что Client API version 4.1.15 ... я не очень в курсе - позволяет ли эта версия использовать вложенные запросы, но я их использовал уже на этом сервере... Хотя в тот самый момент мне phpinfo врал - говорил, что Client API version 3.x.x ... В общем, вложенные запросы - можно. | |
|
|
|
|
|
|
|
для: Shorr Kan
(27.05.2006 в 23:22)
| | Это версия клиентской библиотеки libmysql.dll, при помощи которой PHP соединяется с сервером MySQL... лучше ориентироваться на результаты запроса SELECT VERSION(). | |
|
|
|
|
|
|
|
для: cheops
(28.05.2006 в 11:54)
| | select version() - тоже говорит "4.1.15" | |
|
|
|
|
|
|
|
для: Shorr Kan
(27.05.2006 в 19:56)
| | Это один запрос:
SELECT aaa FROM tbl1 LEFT JOIN tbl2 on aaa=bbb WHERE bbb IS NULL
|
| |
|
|
|
|
|
|
|
для: Trianon
(27.05.2006 в 23:29)
| | Хм... Это работает... Кажется. Спасибо.
Только я не понял - как.. | |
|
|
|
|
|
|
|
для: Shorr Kan
(28.05.2006 в 15:12)
| | Конструкция LEFT JOIN строит внешнее (левое) соединение, т.е. такое, когда в результат попадают не только строки соответствия из обеих таблиц, но и строки из левой таблицы, которым не нашлось соответствия в правой. Фильтр WHERE оставляет лишь строки без соответствия, т.е. те, которые Вы хотели получить. | |
|
|
|
|
|
|
|
для: Trianon
(28.05.2006 в 20:04)
| | Ага... благодарю. | |
|
|
|