0

我的数据库中有两个表,一个包含项目列表以及这些项目的其他信息。另一个表包含这些项目的照片列表。

items 表为每个项目提供了唯一的标识符,该标识符在 photos 表中用于标识已拍摄的项目。

我需要在第二个表中输出未链接到照片的项目列表。关于如何做到这一点的任何想法?

4

4 回答 4

4
select i.*
from Items i
left outer join Photographs p on i.ID = p.ItemID
where p.ItemID is null
于 2010-04-16T15:17:08.923 回答
0
SELECT * FROM items WHERE id NOT IN (SELECT item_id FROM photos);

应该是你想要的

于 2010-04-16T15:15:15.277 回答
0

如果一件物品有不止一张照片,请使用 distinct。

SELECT * FROM items WHERE id NOT IN (SELECT distinct(item_id) FROM photos);
于 2010-04-16T15:23:59.870 回答
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)
于 2010-04-16T15:35:12.373 回答