问题是'列出所有没有metertype“高级”属性的pids 安装。在答案中使用子查询。
这是我提出的查询
SELECT PROPERTYMETER.pid, METERTYPE.description
FROM PROPERTYMETER , METERTYPE
WHERE PROPERTYMETER.metertype = METERTYPE.metertype
AND description IN (SELECT description FROM METERTYPE WHERE description = 'conventional')
这是我得到的结果
除了pid 9具有传统和高级metertype之外,结果一切都很好,所以我并没有真正回答这个问题。我可以对我的查询做些什么来确保仅返回的pid具有传统的metertype?
答案 0 :(得分:0)
使用子查询获取具有pid
的所有属性的metertype = 'advanced'
。然后使用NOT IN
将其排除在最终结果之外。
SELECT DISTINCT pid
FROM propertymeter
WHERE pid NOT IN (
SELECT pid
FROM propertymeter AS p
JOIN metertype AS m ON p.metertype = m.metertype
WHERE m.description = 'advanced')