안녕하세요.
도메인 만료일이 도래되는것을 최상위 노출시키는 쿼리를 작업하고 있는데요.
테이블은 2개가 있습니다.
업체 정보 테이블과 추가도메인을 관리할수 있는 테이블이 있습니다.
프로그램 초보라 어떻게 해야될지 몰라 여기저기 참고해서 아래처럼 대략적으로 쿼리를 해놨는데요.
SELECT A.company -- 업체명
, A.domain -- 대표도메인
, A.domain_edate -- 대표도메인 만료일
, B.add_domain -- 추가도메인
, B.add_domain_edate -- 추가도메인 만료일
FROM company_info A
LEFT OUTER JOIN add_domain B
ON A.idx = B.ah_idx
AND B.add_domain_edate NOT IN ('', '0000-00-00')
WHERE A.domain_edate NOT IN ('', '0000-00-00')
위와 같은 쿼리의 결과물은 첫번째 ss.png처럼 결과물이 나오는데요
제가 구현하고 싶은것은 nn.png처럼 노출되게 구현하고 싶습니다.
또한 2번째 이미지 처럼 구현되려면 order by를 어떻게 적용해야 될지 좀 난감한데. 고수님들의 조언좀 부탁드립니다.
감사합니다
WITH company_info AS ( SELECT 1 idx, 'A업체' company, 'aaa.com' domain, '2022-12-31' domain_edate UNION ALL SELECT 2, 'B업체', 'bbb.com', '2022-12-28' UNION ALL SELECT 3, 'C업체', 'ccc.com', '2023-02-05' ) , add_domain AS ( SELECT 1 ah_idx, 'aaa1.com' add_domain, '2022-12-25' add_domain_edate UNION ALL SELECT 2, 'bbb1.com', '0000-00-00' UNION ALL SELECT 3, 'ccc1.com', '' ) SELECT idx, company, domain, domain_edate FROM company_info WHERE domain_edate NOT IN ('', '0000-00-00') UNION ALL SELECT a.idx, a.company, b.add_domain, b.add_domain_edate FROM company_info a INNER JOIN add_domain b ON a.idx = b.ah_idx WHERE b.add_domain_edate NOT IN ('', '0000-00-00') -- AND a.domain_edate NOT IN ('', '0000-00-00') ORDER BY 4 ;