У меня есть список данных, который выглядит следующим образом:
|key|last |first |email |degree
|1 |Hope |Bob |a@1.com |BA
|1 |Hope |Bob |a@2.com |MA
|1 |Hope |Bob |a@1.com |PhD
|2 |Pane |Pat |b@1.com |BA
|2 |Pane |Pat |b@2.com |MD
Мне нужно объединить эти данные, чтобы показать несколько вариантов одного и того же поля, чтобы они выглядели так, чтобы был первичный ключ:
|key |last |first |email1 |email2 |degree1 |degree2 |degree3
|1 |Hope |Bob |a@1.com |a@2.com |BA |MA | PhD
|2 |Pane |Pat |b@1.com |b@2.com |BA |MD | Null
Столбцы должны будут «генерироваться» по мере необходимости. например, если бы была только 1 запись с 19 электронными письмами, она генерировала бы 19 столбцов электронных писем, даже если у остальных было только максимум 2.
Я пытался самостоятельно объединяться, чтобы сложить и сложить позже с этим:
SELECT a.key,a.last, a. first, a.email, a.degree
b.key, b.last, b.first, b.email, b.degree
FROM a
LEFT JOIN b
ON a.key = b.key and a.email=b.email and a.degree=b.degree
Но я застрял. Это не присоединилось правильно. И это был первый шаг. Я спрашиваю здесь, чтобы увидеть, если я даже на правильном пути. Разве это не должно сочетаться только с тем, что совпадает с левой таблицей? Это закончилось копированием записей. Внутреннее объединение удалит записи только с 1 электронным письмом или отделом. Просто ищу способ сделать это.
Вид застрял.