#sql #join #mariadb
Вопрос:
У меня есть большие таблицы я хочу выбрать разные столбцы в зависимости от нескольких условий, а не весь столбец, даже если в ряду это не нужно.
что-то вроде :
Я хочу (Н1,Н2) если ряд HR1=R1 и (Н2,Н3) если H1=Р2 …
проблема в том что я могу сделать полный выбрать, чтобы выбрать все столбцы, но это слишком много uneeded столбцы
пробовал
select from ((select H2,H3 where H1=R1),(select H2,H4 where H1=R2), (select H5 where H1=R3))
после определенного количества условий в запросе я получаю пустой результат.
| H1 | H2 | H3 | H4 | H5 |
|----|----|-----|-----|-----|
| R1 |[V1]|[V2] | V3 | V4 |
| R2 |[V5]| V6 |[V7] | V8 |
| R3 | V9 | V10 | V11 |[V12]|
Комментарии:
1. Пожалуйста, проясните вашу конкретную проблему или предоставьте дополнительные сведения, чтобы точно указать, что вам нужно. Поскольку это написано в настоящее время, трудно точно сказать, о чем вы просите.
Ответ №1:
Похоже, ты хочешь этого :
select case when H1 in (R1,R2) then H2 else null end as H2
, case when H1 = R1 then H3 else null end as H3
, case when H1 = R2 then H4 else null end as H4
, case when H1 = R3 then H5 else null end as H5
from table