2016-04-17 7 views
1

2つのクエリがあります。 第一1は、次のとおりです。第一クエリのSQLクエリのあいまいな列名エラー

SELECT hardware, SUM(Quantity) FROM request_1v2 where date between "2016-03-12" AND "2016-03-14" group by hardware 

出力は

第二Queryがあるさ:第2クエリの

SELECT hardware, SUM(Quantity) FROM request_1v2 where date between "2016-03-12" AND "2016-03-12" group by hardware 

出力は次のとおりです。

実際にグラフをプロットしていますので、これらの2つのクエリを1つにマージする必要があります。私が得た解決策は以下のとおりです。ソリューションクエリの

SELECT t1.hardware, SUM(t1.Quantity), SUM(t2.Quantity) 
FROM request_1v2 AS t1,request_1v2 AS t2 
WHERE t1.date between "2016-03-12" and "2016-03-14" AND t2.date between "2016-03-12" and "2016-03-12" 
GROUP BY t1.hardware 

出力:

これは間違っています!私が必要

実際の出力は次のようになります -

私はどのように行うのか分かりません。誰でも助けてくれますか? 誰かが通り、あなたのクエリを記述するために私を提案: -

SELECT hardware, SUM(t1.Quantity), SUM(t2.Quantity) 
FROM request_1v2 AS t1,request_1v2 AS t2 
WHERE t1.date between "2016-03-12" and "2016-03-14" AND t2.date between "2016-03-12" and "2016-03-12" 
GROUP BY hardware 

しかし、それはエラー「あいまいなカラム名:ハードウェア」を与える

私を助け、あなたの答えのおかげとしてクエリを記述してくださいします。

あなたはここでテーブル構造を必要とする場合は、次のとおりです。

答えて

1

念を使用し、事はあなたの日付が重複している、あなたはthem.Your第三のクエリを変更することができますあなたはいけないので、デカルトJOINを作成しますJOIN条件があります。

SELECT hardware, 
SUM(CASE WHEN date between "2016-03-12" AND "2016-03-14" THEN Quantity ELSE 0 END), 
SUM(CASE WHEN date between "2016-03-12" AND "2016-03-12" THEN Quantity ELSE 0 END) 
FROM request_1v2 
group by hardware 
+0

ありがとうございました!あなたは天才です:)敬意 –

関連する問題