我在代码中使用了并集,但其中一个表包含一列,而另一个表没有,我如何在输出中插入该列,我不想将其添加到表本身中。。我需要该列在那里,并且两个表的列数应该相同
感谢
处理此问题的正常方法是用"dummy"列填充短查询。
假设TABLE1
有四列,分别称为COL1
、COL2
、COL3
和COL4
。TABLE2
3称为COLA
、COLB
和COLC
。
SELECT
COL1
,COL2
,COL3
,COL4
FROM TABLE1
UNION
SELECT
COLA
,COLB
,COLC
,NULL -- or empty string or zero or any padding value compatible with the data-type of COL4.
FROM TABLE2 ;
结果应该有4列(COL1
到COL4
(,因为列名取自第一个查询。
当组合相关但不同的类型时,这种将数据结构填充到同一签名的做法在数据库中很常见,我称之为Battenberg Maneuvr。