MySQL объединяет 1 запись в таблице A со многими в таблице B как одну строку - PullRequest
0 голосов
/ 24 июня 2011

Я хочу сделать запрос к двум таблицам: участники и платежи .

Одна запись участника может объединиться с многими платежами. Однако мне нужно, чтобы каждая запись о платеже была добавлена ​​как дополнительный столбец , а не как дополнительный ряд.

Вот упрощенный пример:

Участники

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 Ответ

1 голос
/ 24 июня 2011

Скорее всего, вы можете достичь того, что вы хотите, используя сводную таблицу: http://en.wikibooks.org/wiki/MySQL/Pivot_table

...