티스토리 뷰

od_id addr_type addr
a 1 (출발지) seoul
a 2 (경유지) daejeon
a 3 (도착지) busan

하나의 주문번호에 주소가 타입별로 세 가지인 위와 같은 테이블이 있었다.

 

아래처럼 하나의 행(row)로 출력하여 SELECT 하고자 했다.

 

od_id addr1 addr2 addr3
a seoul daejeon busan

찾은 방법은 JOIN.

 

CREATE VIEW address_union AS
SELECT i.od_id
   , s.addr AS addr1
   , m.addr AS addr2
   , e.addr AS addr3
FROM address AS i
LEFT JOIN address AS s ON i.od_id = s.od_id
   AND s.add_type = 1
LEFT JOIN address AS m ON i.od_id = m.od_id
    AND m.add_type = 2
LEFT JOIN address AS e ON i.od_id = e.od_id
    AND e.add_type = 3
	 WHERE i.od_id != '' ;

사용하기 편하게 view를 사용해 보았다.

 

'Programming > DB' 카테고리의 다른 글

[MySQL] autocommit, rollback, commit (SET autocommit=0)  (0) 2022.07.08
댓글