0
我有两个疑问我的DB2数据库:合并2个选择查询到一个结果
SELECT XEDCDTA.DCADR.ADRNAME as Name,
XEDCDTA.DCADR.ADRCITY as City,
XEDCDTA.DCDDT.DDTGRMA as Gross,
XEDCDTA.DCDDT.DDTCOCD as TN,
XEDCDTA.DCDDT.DDTDES as Description,
XEDCDTA.DCDDT.DDTVATVA as VATVALUE,
XEDCDTA.DCDHD.DHDTRN as TRUCK,
XEDCDTA.DCDHD.DHDTRE as REFEENCE,
FROM XEDCDTA.DCDHD, XEDCDTA.DCDDT, XEDCDTA.DCADR
WHERE XEDCDTA.DCDHD.DHDTRE LIKE ('123456') AND
XEDCDTA.DCADR.ADRTYPE LIKE ('ABC') AND
XEDCDTA.DCDDT.DHDKEY = XEDCDTA.DCDHD.DHDKEY AND
XEDCDTA.DCADR.DHDKEY = XEDCDTA.DCDHD.DHDKEY
和第二查询
SELECT
XEDCDTA.DCADR.ADRREF as Reference2
FROM XEDCDTA.DCDHD, XEDCDTA.DCDDT, XEDCDTA.DCADR
WHERE XEDCDTA.DCDHD.DHDTRE LIKE ('123456') AND
XEDCDTA.DCADR.ADRTYPE LIKE ('XYZ') AND
XEDCDTA.DCDDT.DHDKEY = XEDCDTA.DCDHD.DHDKEY AND
XEDCDTA.DCADR.DHDKEY = XEDCDTA.DCDHD.DHDKEY
我想:
SELECT XEDCDTA.DCADR.ADRNAME as Name,
XEDCDTA.DCADR.ADRCITY as City,
XEDCDTA.DCDDT.DDTGRMA as Gross,
XEDCDTA.DCDDT.DDTCOCD as TN,
XEDCDTA.DCDDT.DDTDES as Description,
XEDCDTA.DCDDT.DDTVATVA as VATValue,
XEDCDTA.DCDHD.DHDTRN as Truck,
XEDCDTA.DCDHD.DHDTRE as Reference1,
cast(NULL as varchar(128)) as Reference2
FROM XEDCDTA.DCDHD, XEDCDTA.DCDDT, XEDCDTA.DCADR
WHERE XEDCDTA.DCDHD.DHDTRE LIKE ('123456') AND
XEDCDTA.DCADR.ADRTYPE LIKE ('ABC') AND
XEDCDTA.DCDDT.DHDKEY = XEDCDTA.DCDHD.DHDKEY AND
XEDCDTA.DCADR.DHDKEY = XEDCDTA.DCDHD.DHDKEY
UNION ALL
SELECT cast(NULL as varchar(128)) as Name,
cast(NULL as varchar(128)) as City,
cast(NULL as varchar(128)) as Gross,
cast(NULL as varchar(128)) as TN,
cast(NULL as varchar(128)) as Description,
cast(NULL as varchar(128)) as VATValue,
cast(NULL as varchar(128)) as Truck,
cast(NULL as varchar(128)) as Reference1,
XEDCDTA.DCADR.ADRREF as Reference2
FROM XEDCDTA.DCDHD, XEDCDTA.DCDDT, XEDCDTA.DCADR
WHERE XEDCDTA.DCDHD.DHDTRE LIKE ('123456') AND
XEDCDTA.DCADR.ADRTYPE LIKE ('XYZ') AND
XEDCDTA.DCDDT.DHDKEY = XEDCDTA.DCDHD.DHDKEY AND
XEDCDTA.DCADR.DHDKEY = XEDCDTA.DCDHD.DHDKEY) s
但从这个查询结果行填充“NULL”。只有列Reference2填充了来自查询的值。
结果看起来应该像这样的事情:
名称,市,格罗斯,TN,说明,VATValue,卡车,参考给定2
DHDKEY是所有表的主键。
任何人都可以给我一个提示吗?
我也尝试了一些适用于mysql的语句,但我在DB2中遇到了异常。
感谢您的任何帮助。
干杯克劳迪奥