我有表 A 作为 |name1|name2|value|
表 B 作为 |name|value|。
这里表 A 中的“name1”和“name2”属性是引用表 B 中“name”的外键。
现在我想要一个这样的查询功能:
SELECT value FROM A WHERE name1 IN
(SELECT name FROM B WHERE value = '1') AND
name2 IN (SELECT name FROM B WHERE value = '1')
这里的问题是,如果我像上面的代码那样做,就会有来自表 B 的两个查询。但实际上我只需要一个查询,SQL 中是否有任何内容写为
SELECT value FROM A WHERE name1,name2 IN (SELECT name FROM B WHERE value = '1')
如果我想要这样的东西怎么办:
SELECT value FROM A WHERE name1,name2 IN
(SELECT name FROM B ORDER BY value DESC FETCH FIRST 200 ROWS ONLY)
?