Я задал почти идентичный вопрос и получил действующий рабочий ответ:
Предыдущий вопрос
Здесь есть небольшое изменение, из-за которого ответ на этот вопрос неработать в особом случае в моей базе данных.Во всех ситуациях ожидайте, что в Таблице В будет не более двух возможных записей, как я уже говорил в предыдущем посте.Моя проблема в том, что у меня есть один случай, когда это не так;Мне нужно обработать до 5 пунктов в Таблице B.- Извините, я бы добавил его к исходному сообщению, если бы знал.
Я не вижу, как изменить предыдущий ответ для ситуации с 2+ предметами, с которой я сейчас сталкиваюсь, поскольку она использует MIN и MAXдля решения исходной проблемы.
Это будет использоваться на сервере SQL Server 2000.
Порядок столбцов информации вообще не имеет значения.
Таблица A
ID | Name
---+------
1 | John
2 | Jane
3 | Bob
4 | Doug
5 | Smith
Таблица B
ID | NameID | Information
---+--------+------------
1 | 1 | Apples
2 | 1 | Apples
3 | 2 | Pears
4 | 2 | Grapes
5 | 3 | Kiwi
6 | 5 | Apples
7 | 5 | Pears
8 | 5 | Grapes
9 | 5 | Kiwi
10| 5 | Kumkwat
Желаемый результат
ID | Name | InformationA | InformationB | InformationC | InformationD | InformationE
---+------+--------------+--------------+--------------+--------------+-------------
1 | John | Apples | Apples | NULL | NULL | NULL
2 | Jane | Pears | Grapes | NULL | NULL | NULL
3 | Bob | Kiwi | NULL | NULL | NULL | NULL
4 | Doug | NULL | NULL | NULL | NULL | NULL
5 | Smith| Apples | Pears | Grapes | Kiwi | Kumkwat