SQL как сделать множественные запросы SELECT в разных столбцах с одинаковым количеством строк?
подскажите, есть такой запрос
SELECT
(struc_usl_tree.id, kolcl, kolo, kolclzai) as one
FROM
site.struc_usl_tree(null, null)
left join site.sv_stat_dela('01.3.2020'::date,'31.3.2020'::date,'88','92,143,141,88,93,78,76,83',null) on sv_stat_dela.id_usl_sp = struc_usl_tree.id
left join
(SELECT id,vid FROM site.sp_usl()) usl on usl.id = struc_usl_tree.id
WHERE
struc_usl_tree.id IN (1526,1324,1430,1478,1513,1457)
ORDER BY
nazfp
в данном коде site.sv_stat_dela('01.3.2020'::date,'31.3.2020'::date,'88','92,143,141,88,93,78,76,83',null) будет менять значение '88' на '92' потом на '143' и т.д.
Возможно ли сделать это 1-м запросом? что бы в первом столбце были данные по '88' во втором '92' и т.д. пробовал UNION - но он выводит все в одном столбце...
Ответы (1 шт):
Автор решения: Hany
→ Ссылка
Можно сделать условие при котором данные будут меняться с 88 на 92 и использовать case. Например так:
SELECT
CASE WHEN kolo = 88 THEN (struc_usl_tree.id, kolcl, kolo, kolclzai) ELSE Null END as one,
CASE WHEN kolo = 92 THEN (struc_usl_tree.id, kolcl, kolo, kolclzai) ELSE Null END as two
FROM
site.struc_usl_tree(null, null)
WHERE
struc_usl_tree.id IN (1526,1324,1430,1478,1513,1457)
ORDER BY
nazfp