基本的SQL问题--我是新来的,所以请容忍我。。。
我正试图以这种方式连接两个字段:
“买家”表:

Name    Date
Greg    Jan 01
John    Jan 01
Greg    Jan 02

“采购”表:
Name    Date     Product    Qty
Greg    Jan 01   Apple      2
Greg    Jan 01   Banana     3
John    Jan 01   Apple      2
Greg    Jan 02   Banana     1

联接表:
Name   Date    Apples   Bananas
Greg   Jan 01  2        3
John   Jan 01  2        0
Greg   Jan 02  0        1

我知道一定很简单,但我就是不明白。

最佳答案

看起来你在尝试pivot你的结果。您可以使用sumcase来实现这一点:

select b.name,
    b.date,
    sum(case when product='Apple' then qty end) Apples,
    sum(case when product='Banana' then qty end) Bananas
from buyers b
    join purchases p on b.name = p.name and b.date = p.date
group by b.name,
    b.date

关于mysql - 在两个字段上的简单联接SQL,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19439775/

10-12 21:24