如何在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

我想通过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         |  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值的每一个编辑问题,我想输出的东西不是由连接查询完成的。