我在使用MySQL 5.0。
我基本上有一个List Item表和一个List Title表。对于每个标题,可以有60多个项目,这些项目都是文本。动态地我试图让返回的标题包含人们想要包含或排除的项目。我的查询基本上是:
Select Distinct TitleID from Titles
left join Items on Items.titleID = Titles.titleID
Where Items.Name not like 'Item 2'
如果任何项目的名称类似于“项目2”,那么我不想要TitleID
。但是,可能有59个其他名称与标题相关联,因此此查询仍然返回每个可能的TitleID
。
我怎么写它才能得到我正在寻找的TitleID
?
答案 0 :(得分:1)
Select Distinct TitleID from Items
Where TitleID not in (
Select TitleID from Items
Where Name like 'Item 2')
“第2项”中没有通配符,因此没有多大意义。
答案 1 :(得分:0)
SELECT t.TitleID
FROM Titles t
WHERE NOT EXISTS(SELECT NULL
FROM Items i
WHERE i.TitleID = t.TitleID
AND i.Name LIKE 'Item 2%')