반응형
dataseq에 대한 data테이블의 요소가 group테이블에 포함된 데이터 인지를 Y, N으로 구분하려고 하였다.
작업하면서 subquery와 join을 같이 사용할때의 개념이 정확하게 인식되지 않은 것 같아 작성해보았다.
// 이렇게 하면 join으로 seq가 동일한 데이터를 가져오기 때문에 전체가 Y로 체크됨
SELECT c.group_seq
, c.group_title
, c.option_yn
, c.option_type
, c.group_sort
, c.use_yn
, c.group_code
, case when (select count(*) from public.dataset_request
where dataset_request_seq = #{datasetRequestSeq} and dataset_list_seq = a.dataset_list_seq) > 0
then 'Y'
else 'N'
end chk_yn
from public.dataset a join public.cust_data_variable b on a.dataset_list_seq = b.dataset_list_seq
left join public.data_group c on b.data_variable_no = c.data_variable_no
left join public.dataset_request d on d.dataset_request_seq = #{datasetRequestSeq} and d.dataset_list_seq = a.dataset_list_seq
AND c.use_yn = 'Y'
WHERE a.dataset_seq = #{findSeq}
ORDER BY c.group_sort
// 이렇게 하면 data_seq와 일치하는 값은 dataset테이블에 존재하므로 dataseq가 포함된 group안의 dataseq만큼의 데이터가 중복으로 나타남
SELECT c.group_seq
, c.group_title
, c.option_yn
, c.option_type
, c.group_sort
, c.use_yn
, c.group_code
, case when (select count(*) from public.dataset_request
where dataset_request_seq = #{datasetRequestSeq} and dataset_list_seq = a.dataset_list_seq) > 0
then 'Y'
else 'N'
end chk_yn
from public.dataset a join public.cust_data_variable b on a.dataset_list_seq = b.dataset_list_seq
left join public.data_group c on b.data_variable_no = c.data_variable_no
AND c.use_yn = 'Y'
WHERE a.dataset_seq = #{findSeq}
ORDER BY c.group_sort
// 정상쿼리문
SELECT c.group_seq
, c.group_title
, c.option_yn
, c.option_type
, c.group_sort
, c.use_yn
, c.group_code
, CASE WHEN c.group_seq IN (SELECT group_seq FROM public.dataset_request
WHERE dataset_request_seq = #{datasetRequestSeq} and dataset_list_seq = a.dataset_list_seq )
THEN 'Y'
ELSE 'N'
END chk_yn
FROM public.dataset a JOIN public.cust_data_variable b ON a.dataset_list_seq = b.dataset_list_seq
LEFT JOIN public.data_group c ON b.data_variable_no = c.data_variable_no
AND c.use_yn = 'Y'
WHERE a.dataset_seq = #{findSeq}
ORDER BY c.group_sort
반응형
'Frontend > jQuery & JSTL' 카테고리의 다른 글
[JSTL] data와 li요소 항목 비교해서 표시하기 (0) | 2023.11.16 |
---|---|
[jQuery] 백분위수 배열 (0) | 2023.11.14 |
[JSTL] datePicker, monthPicker (0) | 2023.11.06 |
[JSTL] WebView 텍스트 동적 변경 & ajax를 이용한 파일 다운로드 (0) | 2023.11.03 |
[Spring] CSRF토큰 (0) | 2023.10.27 |