很抱歉,很难想出一个描述性的标题。
我有一个带有复合键的两列表——> ids 和属性。因此,一个 id 可能会在表中出现两次,但每个实例具有不同的属性。
id attribute
1 1
1 2
2 2
3 1
我的问题是如何查询这个。例如我想找到匹配两个属性的所有 id
SELECT a.id
FROM table AS a, table AS b
WHERE a.attribute = 1
AND b.attribute = 2
AND a.id = b.id
所以这个查询应该只返回 id 1。
这是非常严格的,因为我需要提前知道要搜索多少个属性,尽管动态创建 SQL 可能是可能的。
有没有更好的方法来查询这样的表?首先有没有更好的方法来构建这个表?
谢谢你的帮助。