我有如下表格:
node_name id term_name
----------------------------------------------
test1 001 physics
test1 001 maths
test1 001 chemistry
test2 002 physics
test2 002 maths
给定术语名称的组合,我想找到 id
集仅包含给定术语名称的所有行。
例如给定术语名称 physics & maths 我的输出应该如下所示
node_name id term_name
----------------------------------------------
test2 002 physics
test2 002 maths
Id set 001
还包含 chemistry
,这就是为什么不应该包含它的原因。
最佳答案
您的问题:获取所有行,其中不存在具有相同 id 但存在其他 term_names
的其他行
SELECT * FROM <table> x WHERE
term_name IN ('physics','maths') AND
NOT EXISTS (SELECT * FROM <table> WHERE id=x.id AND term_name NOT IN ('physics','maths'))
关于mysql - 以下场景如何获取记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8600359/