나는 다음과 같습니다 데이터 세트를 가지고 :오라클 SQL 요약/피벗 테이블
ID Description Team
A Missing Name; Missing Gender Team1
B Missing Gender Team1
C Missing Name Team2
D Missing Name Team2
즉, 각 ID는 하나 개의 아이디로 모든 문제를 식별하는 텍스트 열 (설명)에 맞춰,뿐만 아니라있다 ID가 속한 팀의 이름으로 나는 이런 식으로 요약 관리했습니다 :
Team Missing Gender Missing Name
Team1 2 1
Team2 0 2
를 다음과 같습니다 case 문을 사용하여 : 나는 것처럼 보이도록이 데이터를 요약 할 수 있도록하고 싶습니다
SELECT
"Team",
sum(case when "DQ Info" like '%Missing Gender%' then 1 ELSE 0 END) as "Missing Gender",
sum(case when "DQ Info" like '%Missing Name%' then 1 ELSE 0 END) as "Missing Name"
FROM
(*)
GROUP BY "Team"
이 대신 :
내가 그것을하는 방법이 있어야합니다 알고 있지만 나는 순간에 어려움을 겪고있어
Description Team1 Team2
Missing Gender 2 0
Missing Name 1 2
- 위의 필드에 단지 대신 "팀"의 "설명"을 사용하여이 같은 결과를 제공합니다 :
Description Team1 Team2
Missing Name; Missing Gender 1 0
Missing Gender 1 0
Missing Name 0 2
이것은 내가 뭘하고있는 지 잘 모르겠다. 어떤 도움을 주시면 감사하겠습니다 만, 제가 알아서 할 수만 있다면이 게시물을 업데이트 할 것입니다. 이것은 실제로 데이터 집합이 아니라 데이터 집합의 예제 일뿐입니다.
편집 : bpgergo의 제안에 따라 아래에서 쿼리하십시오. 약간의 내용을 읽었을 때 내부 케이스의 첫 번째 기준이 충족되면 단락 즉 검색어를 종료하는 것처럼 보입니다. 이는 열을 두 번 이상 셀 수 없음을 의미합니다. 그것은 수치 스럽지만, 나는 원래의 질의에 충실해야한다고 생각합니다.
SELECT
"Description",
sum(case when "Team" like 'Team1' then 1 ELSE 0 END) as "Team1",
sum(case when "Team" like 'Team2' then 1 ELSE 0 END) as "Team2"
FROM(SELECT
"Team",
case when "DQ Info" like '%[Check Role]%' then '[Check Role]'
ELSE case when "DQ Info" like '%[Client deceased]%' then '[Client deceased]'
ELSE case when "DQ Info" like '%[2 Parents not recorded]%' then '[2 Parents not recorded]'
ELSE case when "DQ Info" like '%[Religion not recorded]%' then '[Religion not recorded]'
ELSE case when "DQ Info" like '%[1st Language not recorded]%' then '[1st Language not recorded]'
ELSE case when "DQ Info" like '%[Ethnicity not recorded]%' then '[Ethnicity not recorded]'
ELSE case when "DQ Info" like '%[No Current Worker]%' then '[No Current Worker]'
ELSE case when "DQ Info" like '%[No Current Team]%' then '[No Current Team]'
ELSE case when "DQ Info" like '%[Update Gender]%' then '[Update Gender]'
ELSE case when "DQ Info" like '%[No Plan]%' then '[No Plan]'
ELSE case when "DQ Info" like '%[Update Plan]%' then '[Update Plan]'
END END END END END END END END END END END
as "Description"
FROM(
*
FROM
(*)WORKLOAD)DATA)
GROUP BY "Description"
감사합니다 같은 것이 내부를 선택
전체 선택으로 이런 일을보십시오. 그러나 쿼리를 실행하면 모든 "설명"범주가 반환되지 않으며 카운트도 제대로 표시되지 않습니다. 나는 내부 쿼리에서 사례를 사용할 때 "설명"의 첫 번째 오류를 식별 할 뿐이므로 ID에 2 개의 오류가있는 경우 위의 쿼리는 해당 쿼리의 첫 번째 오류를 식별합니다 (잘하면 의미가 있습니다!). 위에 쿼리의 축약 된 버전을 게시했습니다. – bawpie