我必须将表A(与税务相关)加入表B(与客户相关)
我最多拉1条记录,但有时没记录。
现在我需要将合并记录返回给用户
我虽然做一个简单的笛卡尔产品会有工作
SELECT * FROM TableA, TableB
但如果TableA或TableB为空则无效
我会做一个完整的外部联接,但现在没有任何东西可以加入。我可以使用标识列创建临时表,然后加入它们(因为1 = 1)
但我正在寻找另一种方式?
谢谢
答案 0 :(得分:6)
根据您自己的建议,您可以使用full outer join
来保证一行:
select *
TableA a
full outer join
TableB b
on 1=1
要始终返回至少一行,即使TableA
和TableB
是emtpy,您也可以使用假表:
select *
from (
select 1 as col1
) fake
left join
TableA a
on 1=1
left join
TableB b
on 1=1