Sql 如何组合多个选择以从多个表中获取数据
我有这样一种情况,我应该从不同的表中选择数据,使用如下的on查询,它是使用每一步逐行完成的。像tab1和tab2这样的表是有关系的,但是有人能举例说明如何在一个SQL SELECT子句中查询这些值吗?谢谢Sql 如何组合多个选择以从多个表中获取数据,sql,oracle,Sql,Oracle,我有这样一种情况,我应该从不同的表中选择数据,使用如下的on查询,它是使用每一步逐行完成的。像tab1和tab2这样的表是有关系的,但是有人能举例说明如何在一个SQL SELECT子句中查询这些值吗?谢谢 -- First query to get field value to next select<br> SELECT tab1.*, tab2.* FROM tab1, tab2 WHERE field1 = 'Key1'; <br> SELECT * from t
-- First query to get field value to next select<br>
SELECT tab1.*, tab2.* FROM tab1, tab2 WHERE field1 = 'Key1'; <br>
SELECT * from tab2 WHERE field2 = 'Key2'; -- returned from row 1 e.g. tab1.field<br>
select * FROM tab3 where field3 = 'Key3'; -- returned from row 2 e.g. tab2.field<br>
SELECT * FROM tab4 WHERE field4 in ('Key4','Key5','Key7'); <br>
-- returned from row 3 e.g tab3 with three fields<br>
如果您想以一个tableview的形式获得结果,请尝试这样使用, 或者,您应该在相关列上使用innerjoin
SELECT *
FROM tab1
WHERE tab1=key1
UNION
SELECT *
FROM tab2
WHERE tab2=key2
UNION
SELECT *
FROM tab3
WHERE tab3=key3
UNION
SELECT *
FROM tab4
WHERE tab4 in ('Key4','Key5','Key7');
示例数据和所需结果将非常有用。可能的重复您的意思是每个查询依赖于上一个查询吗?查询1返回叉积。这真的是你想要的吗?