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