如何在UNIONSQL查询中并排设置两个表的列
我想通过UNIONSQL查询在两个并排列中显示来自两个不同表的两个不同数据 让我们看一个例子——下面是我的代码:如何在UNIONSQL查询中并排设置两个表的列,sql,union,Sql,Union,我想通过UNIONSQL查询在两个并排列中显示来自两个不同表的两个不同数据 让我们看一个例子——下面是我的代码: select CashIN_ID, '' as cashout from tbl_CashIN where CashIN_ID != 0 union select '', CashOut from tbl_cashout 此语句显示以下输出: CashIN_ID | cashout ----------+--------- 1 | 0 2
select CashIN_ID, '' as cashout
from tbl_CashIN
where CashIN_ID != 0
union
select '', CashOut
from tbl_cashout
此语句显示以下输出:
CashIN_ID | cashout
----------+---------
1 | 0
2 | 0
3 | 0
0 | 1
0 | 2
0 | 3
但我不想要这种类型的输出
我想隐藏0,或者可以说我不想显示空值或0
我想要这样的输出:
CashIN_ID | cashout
----------+--------
1 | 1
2 | 2
3 | 3
4 | null
如何从我的SQL查询或任何其他查询中获取此输出?对于示例输出,您可以使用join
select t1.CashIN_ID,t2.CashOut
from
tbl_CashIN t1
left join tbl_cashout t2
on t1.CashIN_ID=t2.CashOut
当您选择
“
?!”时,哪个dbms返回0
?!?如果其中一个查询有4行,另一个查询有3行,那么预期的结果是什么?正如@jarlh所提到的,在您的问题中要更加清楚。如果你想要像你提到的那样的结果,请注意加入而不是联合。如果你将CashIN_ID 2更改为5?期望的结果是什么?它将需要是一个外部连接(允许空值通过没有匹配记录的地方),但否则就是这样做的。左边加入TBLL CasHOUT T2,添加左边的连接来添加考虑NULL值的每一个编辑问题,我想输出的东西不是由连接查询完成的。