我的数据库中有两个表,一个包含一个项目列表,其中包含有关这些项目的其他信息。另一张表包含这些项目的照片列表。
items表为每个项目提供了一个唯一的标识符,在照片表中用于标识已拍摄的项目。
我需要在第二个表格中输出未链接到照片的项目列表。关于如何做到这一点的任何想法?
答案 0 :(得分:4)
select i.*
from Items i
left outer join Photographs p on i.ID = p.ItemID
where p.ItemID is null
答案 1 :(得分:0)
SELECT * FROM items WHERE id NOT IN (SELECT item_id FROM photos);
应该是你想要的
答案 2 :(得分:0)
如果一个项目有多张照片,则使用不同。
SELECT * FROM items WHERE id NOT IN (SELECT distinct(item_id) FROM photos);
答案 3 :(得分:0)
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)