【发布时间】:2014-09-29 14:38:07
【问题描述】:
我的 DB2 数据库有两个查询:
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 中遇到了异常。
感谢您的帮助。
干杯克劳迪奥
【问题讨论】: