簡體   English   中英

SQL 查詢中列名不明確的錯誤

[英]Ambiguous column name Error in SQL Query

我有兩個查詢。 第一個是:

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

第一個查詢的輸出是

第二個查詢是:

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

第二個查詢的輸出是:

實際上我正在繪制一個圖所以我需要將這兩個查詢合並為一個。 我得到的解決方案是:

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

但它給出了錯誤“不明確的列名:硬件

請幫助我並編寫查詢作為您的答案謝謝。

如果你需要表結構,這里是:

只需使用 CASE,您的日期重疊,您可能想要更改它們。由於您沒有 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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM