我试图找出一个简单的在2行值之间进行减法..
Num_groupe | num_lot | num_secti | ship_date | qte_1 | qte_2 | qte_3 | qte_4
Instock | D2312 | 01 | 12-juin | 10 | 30 | 10 | 10
Instock | D2312 | 09 | 12-juin | 8 | 4 | 6 | 4
Instock | C7788 | 01 | 18-sept | 30 | 10 | 25 | 25
Instock | C7788 | 09 | 18-sept | 5 | 8 | 5 | 8
Instock | W3300 | 01 | 11-déc | 10 | 25 | 30 | 10
Instock | W3300 | 09 | 11-déc | 5 | 4 | 5 | 8
Instock | Q1234 | 01 | 03-févr | 10 | 25 | 10 | 30
Instock | Q1234 | 09 | 03-févr | 6 | 5 | 8 | 5
每个num_lot
都有num_section
01和09,现在我想在每个版块之间减去'数值'。
实施例。
lot D2312 | qte_1 : 10 - 8 = **2** | qte_2 : 30 - 4 = **26** .....
预期结果:
Num_groupe | num_lot | num_secti | ship_date | qte_1 | qte_2 | qte_3 | qte_4
Instock | D2312 | 01 | 12-juin | 2 | 26 | 6 | 6
Instock | C7788 | 01 | 18-sept | 25 | 2 | 20 | 7
有什么建议吗?合并? SUMIF?我被困在这里:S
谢谢你们, GC
答案 0 :(得分:0)
我认为SUM IF
会完成任务。从示例中,我认为您要从num_secti
9
中减去1
为SELECT
Num_groupe,
num_lot,
ship_date,
SUM( IF(num_secti = 1, qte_1, -1 * qte_1) ) AS qte_1,
SUM( IF(num_secti = 1, qte_2, -1 * qte_2) ) AS qte_2,
SUM( IF(num_secti = 1, qte_3, -1 * qte_3) ) AS qte_3,
SUM( IF(num_secti = 1, qte_4, -1 * qte_4) ) AS qte_4
FROM <your table name>
GROUP BY num_lot
的值。请尝试以下查询:
{{1}}
以下是您示例中的小提琴:http://sqlfiddle.com/#!2/d3095/2