2013-10-31 60 views
0

我已經轉移了觀點和其他觀點,我已經到了這裏。舉例如下如果共享相同的值,將兩行連接在一起?

Name  | Quantity | Billed | 
      |   |  | 
PC Tablet| 0  | 100 | 
PC Tablet| 100 | -2345 | 
Monitor | 9873 | 0  | 
Keyboard | 200 | -300 | 

所以基本上選擇我會做這個觀點。我希望它能引入數據,但是它首先按名稱排序,所以它的字母順序很好,還有一些原因是一些記錄出現多次(我認爲最多是4次)。如果您添加重複的行,真正的「數量」和「計費」將是正確的。

注意:實際查詢非常長,但我將其分解爲一個簡單示例來解釋問題。這個想法是一樣的,但有更多的列需要加在一起...所以我正在尋找一個查詢,如果它包含相同的名稱會將它們放在一起。我已經嘗試了一堆不同的查詢,但沒有成功,它將所有行都合併爲一個。或它將無法正常工作,我得到一堆空錯誤/名稱列在選擇列表/組是無效的,因爲它不是一個聚合函數..

這是可能的嗎?

+0

你想吃點什麼成果都基於數據您提供? –

回答

1

嘗試:

SELECT A.Name, A.TotalQty, B.TotalBilled 
FROM (
SELECT Name, SUM(Quantity) as TotalQty 
FROM YourTableHere 
GROUP BY Name 
) A 
INNER JOIN 
(
SELECT Name, SUM(Billed) as TotalBilled 
FROM YourTableHere 
GROUP BY Name 
) B 
ON A.Name = B.Name 
+0

謝謝你的查詢模板!你很快就想到了O_O –

+1

很高興它爲你工作。通過點擊左側的複選標記,您可以接受我的答案作爲解決問題的方法。上帝保佑和快樂的編碼! – Edper

相關問題