0
Я пытаюсь получить результаты таблицы, упорядоченной разными значениями в столбце, но я хочу показать их в одной строке ... Например, моя таблица выглядит так.Интеграция столбцов за реестр
PR_ID SOLUTION DESCRIPTION
------------------------- ---------- --------------------------------------------------
A1 1 Description 1
A2 2 Description 2
A3 3 Description 1
A4 1 Description 3
B1 1 Description 1
B2 2 Description 2
C1 3 Description 1
C2 2 Description 2
8 rows selected
И я хочу, чтобы результаты, чтобы показать что-то вроде этого:
DESCRIPTION SOL_Up SOL_Down SOL_No_Valid
------------------------------ -------- ---------- -------------
Description 1 2 0 3
Description 2 0 3 0
Description 3 1 0 0
У меня есть дела работает, но когда я пытался поставить их в той же строке, что посылает мне аннулирует, что я не помните нули для 0, но мне нужны они в одной строке.
select
description, Sol_Up, Sol_Down, Sol_No_Valid, count(1)
from
(
select description,
case when Solution = 1 then 'Up' end Sol_Up,
case when Solution = 2 then 'Down' end Sol_Down,
case when Solution <= 0 or Solution >= 3 then 'No_Valid' end Sol_No_Valid
from PRUEBAS_SOL
)
group by
description, Sol_Up, Sol_Down, Sol_No_Valid
order by Description;
Но результаты не очень далеки от того, что мне нужно ...
DESCRIPTION SO SOL_ SOL_NO_V COUNT(1)
-------------------------------------------------- -- ---- -------- ----------
Description 1 Up 2
Description 1 No_Valid 2
Description 2 Down 3
Description 3 Up 1
Спасибо! Я не знал, что вы можете использовать счет (случай) ... Есть ли какая-нибудь книга или страница, которую вы могли бы порекомендовать? – Zombraz
Это очень старый трюк. Идея заключается в создании выражения, которое возвращает значения для данных, которые вас интересуют, и NULL для данных, которые этого не делают. Функции агрегации игнорируют NULL. –