Общие > Базы данных
Помогите с запросом! Надо выбрать товары НЕ связанные с разделами!
(1/1)
Ireany:
Версия MySQL 3.23.53-max
items
----------------------------------------------------------
item_id | name_item | description | price
links
---------------------------
item_id | razdel_id
Необходимо выбрать из таблицы items товары, которые не числятся в таблице links.
Я сделал так:
SELECT items.name_item FROM items, links WHERE NOT items.item_id = links.item_id;
Но мускул не выводит ни одной строки, хотя таких записей должно быть достаточно много.
Помогите правильно составить запрос.
fidget:
SELECT .. FROM items LEFT JOIN links USING (item_id) WHERE item_id IS NULL
http://dev.mysql.com/doc/mysql/en/Rewriting_subqueries.html
Ireany:
Я так тоже пробовал, странно.. но ответ муськи такой:
Column: \'item_id\' in where clause is ambiguous
Ireany:
А-а! Дошло! \'item_id\' неоднозначен!
Надо так:
...WHERE links.item_id IS NULL
Кстати, у меня джойны почему то сильно тормозят!
Может версия Муськи такая?
Вот этот запрос
SELECT items.name_item FROM items LEFT JOIN links USING (item_id) WHERE links.item_id IS NULL ORDER BY items.name_item ASC
выполняется неск. секунд при количестве записей 4000.
Навигация
Перейти к полной версии