sql문 문의드립니다.
본문
안녕하세요
예전에 문의를 이어서 문의드립니다.
select a.price from (
select price from group where pay_cancel='N' union all select price from person where cancel_flag='N'
) a
라는 sql문이 있는데요~
group 테이블의 idx가 person 테이블의 group_idx와
연관이 되는데요. (group테이블은 그룹장 / person테이블은 그룹원)
위 sql문은 각 테이블의 조건에 맞는 값들이 합쳐지는거잖아용
저기에 추가로
person 테이블에 출력될 값들이
group 테이블의 pay_cancel='N' 인 값들의 idx 컬럼 >> person 테이블의 group_idx 도 영향을 받아서 출력이 안됐음 합니다.
어떻게 해야되나요?
ex)
group테이블
idx pay_cancel ~~
2 N
3 Y
person테이블
idx group_idx name~~
1 1 홍길동1
2 2 홍길동2
3 2 홍길동3
>> 원하는값
group테이블의 idx 2
person테이블의 idx 1 , 2
답변 1
SELECT a.price
FROM (
SELECT price
FROM `group`
WHERE pay_cancel = 'N'
UNION ALL
SELECT p.price
FROM person p
JOIN `group` g ON p.group_idx = g.idx
WHERE p.cancel_flag = 'N' AND g.pay_cancel = 'N'
) a;
답변을 작성하시기 전에 로그인 해주세요.