sqlite 查找具有指定属性的示例

icnyk63a  于 2022-11-14  发布在  SQLite
关注(0)|答案(2)|浏览(170)

名称|属性

Item1|data1
Item2|data1
Item3|data2
Item1|data2
Item2|data3
Item4|data3
Item3|data2
Item5|data3
我正在尝试查找具有属性data3的名称。预期产出:
名称

Item4
Item5
我的解决方案是SELECT name FROM TABLE,然后是EXCEPT SELECT name WHERE attribute!="data3",但这包括比预期输出更多的项目。我正在尝试解决诸如EXCEPT、UNION等集合运算的问题。

wqsoz72f

wqsoz72f1#

使用NOT IN

SELECT DISTINCT
    name
FROM
    table
WHERE
    attribute = 'data3'
    AND
    name NOT IN (SELECT name FROM table WHERE attribute != 'data3')
;

或使用EXCEPT

SELECT name FROM table WHERE attribute  = 'data3'
EXCEPT
SELECT name FROM table WHERE attribute != 'data3'
;
eyh26e7m

eyh26e7m2#

select   name
from     t
group by name
having   max(attribute) = 'data3'
and      max(attribute) = min(attribute)

名称

Item4
Item5
Fiddle

相关问题