我有表A作为 | name1 | name2 | value |试图避免重复查询
表B为|名|值|。
这里的“名1”,并在表A“NAME2”属性外键的表B中引用的“名”
现在我想有一个查询功能是这样的:
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)
?
你正在使用什么数据库系统? – 2013-03-05 09:16:24