COUNT()와 문하지만, 내가 그것을 말할 것도 설명이 문제를 해결 내 모든 머리를 정리하기가 어렵습니다 ....SQL 중첩 된 선택 나는 최선 내가 할 수있는 설명하려고합니다
내가 노력하고 있어요 하나의 쿼리에서 여러 결과를 선택하여 데이터베이스의 현재 상태를 표시합니다. 레코드의 한 유형으로 첫 번째 열이 있고 첫 번째 열의 하위 범주로 두 번째 열이 있습니다. 하위 카테고리는 그 아래의 더 많은 레코드 (상태로 구별 됨)에 링크되어 더 많은 열을 형성합니다. 모든 주요 카테고리/하위 카테고리 조합을 표시 한 다음 하위 카테고리의 하위에 하위 하위 카테고리가 몇 개인지를 표시해야합니다. 고유 한 조합을 표시 할 수 있도록 가져 왔으므로 SELECT 문을 중첩하는 방법을 모르므로 기본 쿼리와 완전히 다른 테이블의 수를 선택할 수 있습니다. 내 문제는 주 카테고리와 하위 카테고리를 표시하기 위해 하나의 테이블에서 가져올 수 있지만 다른 테이블에서 계산해야합니다. 문제에 대한 아이디어는 크게 평가 될 것입니다.
여기에 제가 가지고있는 것들이 있습니다. 카운트 문은 각 상태의 수로 대체 될 것이다 : 여기
SELECT wave_num "WAVE NUMBER",
int_tasktype "INT/TaskType",
COUNT (1) total,
COUNT (1) "LOCKED/DISABLED",
COUNT (1) released,
COUNT (1) "PARTIALLY ASSEMBLED",
COUNT (1) assembled
FROM (SELECT DISTINCT
(t.invn_need_type || '/' || s.code_desc) int_tasktype,
t.task_genrtn_ref_nbr wave_num
FROM sys_code s, task_hdr t
WHERE t.task_genrtn_ref_nbr IN
(SELECT ship_wave_nbr
FROM ship_wave_parm
WHERE TRUNC (create_date_time) LIKE SYSDATE - 7)
AND s.code_type = '590'
AND s.rec_type = 'S'
AND s.code_id = t.task_type),
ship_wave_parm swp
GROUP BY wave_num, int_tasktype
ORDER BY wave_num
이미지 : 서로 다른 수를 필요로 할 때 http://i.imgur.com/JX334.png
예상대로 결과를 표시 할 수 있습니까? –
지금까지 가지고있는 것을 게시 할 수 있습니까? –
지금은 크로스 조인이 있습니다. 그게 니가 원하는거야? 어쨌든 의도하지 않은 교차 결합 및 기타 나쁜 점을 쉽게 가져올 수 있으므로 암시 적 조인을 사용하지 않아야합니다. IMplicit 조인은 SQl 반 패턴이며 여전히 사용하기위한 변명의 여지가 없습니다. – HLGEM