2017-06-19 21 views
0

私は3つのテーブルを持っています。私はUNION ALLを使用して2つを統一しましたが、共通のフィールドが1つしかないので第3を統合できません"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にあります。 –