Выбор нескольких строк с одинаковыми значениями
Выбор нескольких строк с одинаковыми значениями
Имеем 2 таблицы вида
|
Таблица AnalizCreate |
Таблица AnalizData |
В таблице "SC_Chemlog"."T_AnalizCreate" лежит поле "F_DateAnaliz", "F_ActualAnaliz_ID".
Необходимо получить следующее
результат |
Код:
SELECT
"F_DateAnaliz",
string_agg(case when "F_AnalizElement_ID" = 3 or "F_AnalizElement_ID" = 5 then "F_Value" end,' ') as fe,
string_agg(case when "F_AnalizElement_ID" = 2 or "F_AnalizElement_ID" = 4 then "F_Value" end,' ') as fe0,
string_agg(case when "F_AnalizElement_ID" = 6 or "F_AnalizElement_ID" = 7 then "F_Value" end,' ') as nom,
"ID_AnalizCreate"
FROM
"SC_Chemlog"."T_AnalizData"
INNER JOIN "SC_Chemlog"."T_AnalizCreate"
ON ("ID_AnalizCreate" = "F_AnalizCreate_ID" and "F_ActualAnaliz_ID" = 3)
GROUP BY "F_DateAnaliz", "ID_AnalizCreate" ;
Поясню:
string_agg(case when "F_AnalizElement_ID" = 3 or "F_AnalizElement_ID" = 5 then "F_Value" end,' ') as fe, - складываем пустые строки, для чисел будет sum.
INNER JOIN "SC_Chemlog"."T_AnalizCreate"
ON ("ID_AnalizCreate" = "F_AnalizCreate_ID" and "F_ActualAnaliz_ID" = 3) - выбираем значения по условию
GROUP BY "F_DateAnaliz", "ID_AnalizCreate" ; - группируем по полю
Комментарии
Отправить комментарий