Sql 从两个表查看,从另一个表查看两条记录
我有一个带有列SOME\u ID的表SOME\u table。 我还有一个表,另一个表带有列SOME\u table\u SOME\u ID(外键)、类型和内容 对于某个_表中的一条记录,另一个_表中有1或2条记录 我想提出以下看法: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_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'