我需要将表A(与税收相关)与表B(与客户相关)连接起来
我最多只能获取1条记录,但有时没有记录。
现在我需要将组合记录返回给用户
我认为进行简单的笛卡尔积应该可以解决问题。
SELECT * FROM TableA, TableB
但是如果TableA或TableB为空,则这种方法不起作用。
我会做一个完全外部连接,但现在没有任何可以连接的东西。 我可以创建带有标识列的临时表,然后在它们上面进行连接(因为1 = 1)
但我正在寻找另一种方法?
谢谢
我需要将表A(与税收相关)与表B(与客户相关)连接起来
我最多只能获取1条记录,但有时没有记录。
现在我需要将组合记录返回给用户
我认为进行简单的笛卡尔积应该可以解决问题。
SELECT * FROM TableA, TableB
但是如果TableA或TableB为空,则这种方法不起作用。
我会做一个完全外部连接,但现在没有任何可以连接的东西。 我可以创建带有标识列的临时表,然后在它们上面进行连接(因为1 = 1)
但我正在寻找另一种方法?
谢谢
根据您的建议,您可以使用 full outer join
来保证一行数据:
select *
TableA a
full outer join
TableB b
on 1=1
TableA
和TableB
为空,您可以使用一个虚拟表格:select *
from (
select 1 as col1
) fake
left join
TableA a
on 1=1
left join
TableB b
on 1=1