我想获得按日期排序的成本和付款的组合结果。这是我正在尝试的查询:
SELECT ClientID, TheDate, Payment, Cost
FROM
(
SELECT PaymentDate AS TheDate, Amount AS Payment, ClientID
FROM Payment
UNION ALL
SELECT BookedDate AS TheDate, Cost, ClientID
FROM [All Bookings Query]
)
ORDER BY TheDate DESC;
它几乎可以工作......但是,弹出一个框让我输入“付款”的值(就像该字段不存在一样)。如果我将其留空并点击确定,我会得到一个结果集,其中“付款”列完全空白,“成本”列包含两个表中的金额。我使用的字段名称是 100% 正确的。
我认为问题在于 UNION 试图将两个表压缩成一个包含 3 列的结果,而我试图选择 4。我以前从未做过这样的查询,所以我不知道如何解决这个问题.
我想要的是将付款和成本放在单独的列中。我的查询有什么问题?