2017-06-19 152 views
0

我有3個表格。我使用UNION ALL統一了其中兩個,但我無法統一第三個,因爲只有一個共同的字段"receipt"使用UNION ALL和INNER JOIN

我希望得到像輸出:

costumerid/ amount/receipt/saledate /cost

我的代碼現在的問題是:

SELECT t1.costumerid, t1.amount, t1.receipt, t1.saledate 
FROM t1 
WHERE t1.amount>'100' AND t1.saledate<Date()-180 
UNION ALL 
SELECT t2.costumerid, t2.amount, t2.receipt, t2.saledate 
FROM t2 
WHERE t2.amount>'100' AND t2.saledate<Date()-180 

任何幫助嗎?提前致謝!

+0

提供表格結構和樣本數據。 – user75ponic

回答

0

您可以爲輸出列創建別名。

SELECT t1.costumerid, t1.amount, t1.receipt, t1.saledate FROM t1 WHERE t1.amount>'100' AND t1.saledate<Date()-180 UNION ALL SELECT t2.costumerid, t2.amount, t2.receipt, t2.saledate FROM t2 WHERE t2.amount>'100' AND t2.saledate<Date()-180 UNION ALL select null as 'costumerid',null as 'amount' t3.receipt , null as 'saledate' from t3 

我不知道你想在哪個表中找到列成本,但你只需要遵循邏輯。

+0

「成本」欄位於t3。 –