Как повернуть? Как преобразовать несколько строк в одну строку с несколькими столбцами?
У меня есть две таблицы, которые я хочу объединить. Первая таблица с клиентами, а другая с продуктами. В настоящее время у меня 22 продукта, но я хочу иметь гибкую структуру БД, поэтому вместо 22 столбцов в БД продукта у меня есть 1 строка для каждого продукта для каждого клиента, поэтому, если я добавляю или удаляю 1 продукт в целом, я ненужно изменить структуру БД.
Я хочу иметь оператор выбора, в котором я выбираю все продукты для каждого клиента, и вывод должен быть в одной строке со столбцом для каждого продукта.
Я видел некоторые другие вопросы, которые похожи, но там цель состоит в том, чтобы все строки были объединены в один столбец, который я нене хочу
Предполагая 2 клиентов и 3 продукта.
Настольный клиент:
ClientId | ClientName
---------------------
1 | Name1
2 | Name2
Столовые продукты
ProductId | ClientId | Product
-------------------------------------
1 | 1 | SomeproductA
2 | 1 | SomeproductB
3 | 1 | SomeproductA
4 | 2 | SomeproductC
5 | 2 | SomeproductD
6 | 2 | SomeproductA
Вывод должен быть примерно таким:
Таблица вывода:
ClientId | ClientName | Product1 | Product 2 | Product 3
-------------------------------------------------------------------
1 | Name1 | SomeproductA | SomeproductB | SomeproductA
2 | Name2 | SomeproductC | SomeproductD | SomeproductA
Идеальное решение также будет гибким в том смысле, что оператор выбора должен подсчитывать количество отдельных продуктов для каждого клиента (они всегда будут одинаковыми для всех клиентов), так что если я добавлю или удалю 1 продукт для всех клиентов, я не должен изменять оператор выбора.