使用UNION ALL和INNER JOIN

时间:2017-06-19 02:39:50

标签: sql database union

我有3张桌子。我使用UNION ALL统一了其中两个,但我无法统一第三个,因为只有一个共同的字段"receipt"

我希望获得如下输出:

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 

有任何帮助吗?提前谢谢!

1 个答案:

答案 0 :(得分: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

我不知道你想在哪个表中查找列成本但是你必须遵循逻辑。

相关问题