[英]Fetch data from 3 tables in Oracle SQL
我需要从3个具有name="some string"
表中获取所有行。
table1
包含一些name="testing123"
table2
有一些name="testing456"
table3
有一些name="testing789"
因此,我的查询应返回与name="testing%"
相匹配的3行。
我尝试了inner join
,但不返回任何内容:
SELECT * FROM table1
INNER JOIN table2
ON table1.name$ = table2.name$
INNER JOIN table3
ON table1.name$ = table3.name$
WHERE obj_cd3a93e8.name$ LIKE 'testing%';
如果我理解正确,则可能要改用工会:
select column
from table1
where $name like 'some string'
Union
select column
from table2
where $name like 'some string'
Union
select column
from table3
where $name like 'some string'
如果表的结构相同,则使用@Sebastien提到的并集。
否则,如果希望选择三个表的所有列,并且所有三个表中没有公共列。 使用凯撒积:
select
*
from table1 t1 ,
table2 t2,
table3 t3
where t1.name = 'testing123'
and t2.name = 'testing456'
and t3.name = 'testing789';
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.