Привет, мне нужно объединить 2 таблицы с информацией о клиентах. В таблице 2 указано, есть ли у нас информация о клиенте по электронной почте, адресу и номеру телефона, но данные структурированы, поэтому каждый клиент имеет 3 строки. Есть ли способ объединить эти две таблицы, чтобы я получал только одну строку для каждого клиента, но со всеми контактными данными?Несколько строк с информацией в одну строку
Таблица 1:
id customerID ... ...
1 11
2 99
и Таблица 2:
id customerID Channel Y_N
1 11 Email Y
2 11 Address Y
3 11 Phone N
4 99 Email N
5 99 Address Y
6 99 Phone N
Мой код это
TABLE 1
left join(
select customerID,
case when Y_N='Y' and Channel='Email' then 1 else 0 end as Email
FROM table2
where Channel='Email')a
on table1.customerID=a.customerID
Left join(
select customerID,
case when Y_N='Y' and Channel='Address' then 1 else 0 end as Address
FROM table2
where Channel='Address') b
on table1.customerID=b.customerID
Left join(
select customerID,
case when Y_N='Y' and Channel='Phone' then 1 else 0 end as Phone
FROM table2
where Channel='SMS') c
on table1.customerID=c.customerID
, который фактически делает работу, но если я должен сделать это снова в будущем есть ли более разумный способ?
Спасибо
Я не отвечает за создание базы данных, я бы тоже предпочел бы она структурирована, как вы показать его :) Спасибо – IDDQD