도메인 만료일 노출 0 5 2,627

by 호야별리 [SQL Query] [2022.12.20 09:16:59]


ss.png (5,117Bytes)
nn.png (6,289Bytes)

안녕하세요.

도메인 만료일이 도래되는것을 최상위 노출시키는 쿼리를 작업하고 있는데요.

테이블은 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를 어떻게 적용해야 될지 좀 난감한데. 고수님들의 조언좀 부탁드립니다.

 

감사합니다

 

 

by 마농 [2022.12.20 09:45:10]

DBMS 종류 및 버전 알려주세요.


by 호야별리 [2022.12.20 09:53:32]

안녕하세요.

MariaDB / 10.0.x입니다.


by 마농 [2022.12.20 09:57:52]
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
;

 


by 호야별리 [2022.12.20 12:42:13]

안녕하세요. 

감사합니다. 많은 도움되었습니다.
한가지만 더 여쭙자면 order by 4라는것은 필드수를 나타내는건가요?


by 마농 [2022.12.20 13:00:08]

4번째 항목으로 정렬

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입