Нужен запрос MYSQL для сравнения двух таблиц и вывода только несоответствующих результатов - PullRequest
0 голосов
/ 16 апреля 2010

У меня есть две таблицы в моей базе данных, одна содержит список элементов с другой информацией об этих элементах. Другая таблица содержит список фотографий этих предметов.

Таблица предметов дает каждому предмету уникальный идентификатор, который используется в таблице фотографий для определения того, какой предмет был сфотографирован.

Мне нужно вывести список предметов, которые не связаны с фотографией во второй таблице. Любые идеи о том, как я могу это сделать?

Ответы [ 4 ]

4 голосов
/ 16 апреля 2010
select i.*
from Items i
left outer join Photographs p on i.ID = p.ItemID
where p.ItemID is null
0 голосов
/ 16 апреля 2010
SELECT id,name from tbl_item 
WHERE id NOT IN (SELECT distinct(tbl_item.id) FROM tbl_item INNER JOIN tbl_photo ON tbl_photo.pid=tbl_item.id)
0 голосов
/ 16 апреля 2010

использовать отдельно, если на одном предмете более одной фотографии.

SELECT * FROM items WHERE id NOT IN (SELECT distinct(item_id) FROM photos);
0 голосов
/ 16 апреля 2010
SELECT * FROM items WHERE id NOT IN (SELECT item_id FROM photos);

должно быть то, что вы хотите

...