Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 从两个表查看,从另一个表查看两条记录_Sql_Oracle - Fatal编程技术网

Sql 从两个表查看,从另一个表查看两条记录

Sql 从两个表查看,从另一个表查看两条记录,sql,oracle,Sql,Oracle,我有一个带有列SOME\u ID的表SOME\u table。 我还有一个表,另一个表带有列SOME\u table\u SOME\u ID(外键)、类型和内容 对于某个_表中的一条记录,另一个_表中有1或2条记录 我想提出以下看法: SOME_ID, CONTENT_TYPE_A, CONTENT_TYPE_B 我有一个sql语句: SELECT ST.SOME_ID, TYPE_A.CONTENT CONTENT_TYPE_A, TYPE_B.CONTENT CONTENT_TYPE_B

我有一个带有列SOME\u ID的表SOME\u table。 我还有一个表,另一个表带有列SOME\u table\u SOME\u ID(外键)、类型和内容

对于某个_表中的一条记录,另一个_表中有1或2条记录

我想提出以下看法:

SOME_ID, CONTENT_TYPE_A, CONTENT_TYPE_B
我有一个sql语句:

SELECT
ST.SOME_ID,
TYPE_A.CONTENT CONTENT_TYPE_A, 
TYPE_B.CONTENT CONTENT_TYPE_B
FROM SOME_TABLE ST
LEFT OUTER JOIN ANOTHER_TABLE TYPE_A
ON ST.SOME_ID=TYPE_A.SOME_TABLE_SOME_ID 
LEFT OUTER JOIN ANOTHER_TABLE TYPE_B
ON ST.SOME_ID=TYPE_B.SOME_TABLE_SOME_ID 
WHERE
TYPE_A.TYPE = 'A'
AND
TYPE_B.TYPE = 'B'
如果另一个_表中的两条记录都存在(TYPE='A'和TYPE='B'),则此查询仅返回某些_表的结果

当对应的某个_表记录在另一个_表中仅存在1条记录时,如何获取视图


现在有记录时,我希望内容类型A或内容类型B中的值为空。

使用
而不是
如何:

SELECT
ST.SOME_ID,
TYPE_A.CONTENT CONTENT_TYPE_A, 
TYPE_B.CONTENT CONTENT_TYPE_B
FROM SOME_TABLE ST
LEFT OUTER JOIN ANOTHER_TABLE TYPE_A
ON ST.SOME_ID=TYPE_A.SOME_TABLE_SOME_ID 
LEFT OUTER JOIN ANOTHER_TABLE TYPE_B
ON ST.SOME_ID=TYPE_B.SOME_TABLE_SOME_ID 
WHERE
TYPE_A.TYPE = 'A'
OR
TYPE_B.TYPE = 'B'