MySQL将表A中的1条记录连接到表B中的许多作为单行

时间:2011-06-23 20:40:41

标签: mysql sql database join pivot

我想查询两个表:成员付款

一个成员记录可以与许多付款一起加入。但是,我需要将每个付款记录添加为附加列,而不是添加其他行。

这是一个简化的例子:

成员

member_id | first_name | last_name
5         | John       | Smith

付款

payment_id | member_id | pay_type   | amount
1          | 5         | VISA       | $20
2          | 5         | Mastercard | $40
3          | 5         | AMEX       | $10

所需的查询结果

member_id | first_name | last_name | payment_id1 | pay_type1 | amount_1 | payment_id2 | pay_type2  | amount_2 | payment_id3 | pay_type3 | amount_3
5         | John       | Smith     | 1           | VISA      | $20      | 2           | Mastercard | $40      | 3           | AMEX      | $10

结果是一行,为付款表中的每一行创建列。谢谢!

1 个答案:

答案 0 :(得分:1)

您最有可能使用数据透视表达到您想要的效果: http://en.wikibooks.org/wiki/MySQL/Pivot_table