y
我想要这样的输出。我正在使用OLEDB.please help.TIA
Table A Table B
DATE QTYA DATE QTYB
-------------------- --------------------
Jan1 5 Jan1 6
-------------------- --------------------
Jan2 10 Jan3 10
答案 0 :(得分:0)
您可以结合使用union和pivot查询来实现此目的:
SELECT
DATE,
MAX(CASE WHEN source = 'A' THEN QTY END) AS QTYA,
MAX(CASE WHEN source = 'B' THEN QTY END) AS QTYB
FROM
(
SELECT DATE, QTYA AS QTY, 'A' AS source
FROM TableA
UNION ALL
SELECT DATE, QTYB, 'B'
FROM TableB
) t
GROUP BY DATE;
这假定您在输出中预期的日期显示在A和/或B表中。如果您希望某些日期覆盖数据缺失,那么您可能需要创建并加入日历表。