Как повернуть? Как преобразовать несколько строк в одну строку с несколькими столбцами?

У меня есть две таблицы, которые я хочу объединить. Первая таблица с клиентами, а другая с продуктами. В настоящее время у меня 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 продукт для всех клиентов, я не должен изменять оператор выбора.

Ответы на вопрос(1)

Ваш ответ на вопрос