mysql - 在两个字段上简单连接 SQL

标签 mysql sql

基本的 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

我知道它必须是简单的东西,但我就是不明白。

最佳答案

看起来您正在尝试透视您的结果。您可以使用 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/

相关文章:

mysql 查询不一致

mysql - 将一个表中的数据插入到多个表中

mysql - 如何从两个表中获取数据?

javascript - PHP 中的时间搜索功能无法正常工作

mysql - SQL 未返回预期行

mysql - 如何显示第一个表中的 id 来自第二个表的 2 个不同的 id

c# - 在 C# 上执行查询时出错

sql - 如何获取特定月份的数据sql

mysql - 使用mysql在一个查询中选择多个表中的 child 总数

mysql - 为大型数据库构建搜索引擎