2016-04-20 35 views
0

MySQL表如何我與組合物中的MySQL表如下:到示出具有濾波他們

invoice  status value 
1234   D  1250 
1234   C  1250 
2345   D  2300 
3456   D  2500 
4567   D  2000 
4567   C  1250 

我想顯示它或類似這樣的

invoice  status value 
2345   D  2300 
3456   D  2500 
4567   D  750 

兩張發票與選擇性地報告它數字1234沒有出現,因爲它是相等的,並且具有D和K的狀態 具有數字4567的兩張發票仍然出現在具有值750的一行中(形成自2000 - 1250 = 750)

我想用SELECT命令,但有一個麻煩,使之, 請幫助我,謝謝

+0

什麼是當前的SQL請求?選擇你想要的線條的標準是什麼? – Aurel

回答

0

條件聚集的一點應該做的伎倆

SELECT invoice,'D' as status, 
SUM(case WHEN status='D' THEN value ELSE -value END) as sums 
FROM t 
GROUP BY invoice 
HAVING sums>0 
+0

我試過了你的腳本,但是有這樣的錯誤:「#1064 - 你的SQL語法有錯誤;檢查與你的MySQL服務器版本相對應的手冊,在'values coba GROUP BY invoice HAVING values > 0限制0,30'在第2行「 –

+0

@aguspriyo使用一個保留字,現在修復 – Mihai

+0

非常感謝你Mihai, –