inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

SELECT ALL FROM SQL

SUBQUERY

[서브쿼리] 예제 문제 Shipper_ID 총합 칼럼 추가 방법 문의

464

kichan

작성한 질문수 1

1

서브쿼리 예제 답으로

CustomerID 별 ShipperID_1,2,3 개수를 구하였는데

칼럼을 추가하여 ShipperID_Sum 값을 구하려면 어떻게 해야할까요? (ShipperID_1,2,3의 총합)

ex) CutomerID '5'의 경우

ShipperID_1 = 1

ShipperID_2 = 1

ShipperID_3 = 1 인데,

ShipperID_Sum = 3이 보이게끔 칼럼을 추가하고 싶습니다.

sql

답변 1

0

kichan

스스로 정답을 찾아서 내용 공유합니다!

WITH(임시 테이블)라는 것을 사용하여 해결할 수 있었네요.

With Temp_table as
(
SELECT C.CustomerID, 
IFNULL(O1.ShipperID_1, 0) AS S1,
IFNULL(O2.ShipperID_2, 0) AS S2,
IFNULL(O3.ShipperID_3, 0) AS S3
FROM Customers AS C

LEFT JOIN (

SELECT CustomerID, Count(OrderID) AS ShipperID_1
FROM Orders
WHERE ShipperID = 1
Group By CustomerID

) AS O1
ON O1.CustomerID = C.CustomerID

LEFT JOIN (

SELECT CustomerID, Count(OrderID) AS ShipperID_2
FROM Orders
WHERE ShipperID = 2
Group By CustomerID

) AS O2
ON O2.CustomerID = C.CustomerID

LEFT JOIN (

SELECT CustomerID, Count(OrderID) AS ShipperID_3
FROM Orders
WHERE ShipperID = 3
Group By CustomerID

) AS O3
ON O3.CustomerID = C.CustomerID
)
Select CustomerID, S1, S2, S3, S1+S2+S3 AS SUM
From Temp_table

 

조회 대상 행이 적을 때도 Using filesort 제거를 고려해야 하나요?

0

15

2

SYSDATE 입력

0

28

1

테이블 생성 시 PK 및 제약조건 문의

0

39

1

TCL 문의

0

30

1

PK를 AUTO_INCREMENT UUID를 UNIQUE로 하는것에 대해

0

36

2

본질 및 인조 식별자 질문

0

31

1

pk를 auto increment로 하는것에 대해서

0

40

2

슈퍼키 문의

0

37

1

질문있습니다!

0

39

1

3-13 리텐션 과제 제출합니다!

0

63

2

실행 통계2 explain analyze 조인 쿼리

0

53

1

3강 인덱스 구조 강의 자료 문의

1

63

1

68강 문제 풀이

0

44

1

현대 쿼리 복잡성에 관한 질문

0

92

3

key_length 가 사용되는곳

0

49

1

[과제]1-9 피벗 테이블 만들어보기

0

65

2

cnt수를 구할 때 왜 user_pseudo_id 를 사용하나요?

0

61

2

아래 글들에서 적혀있는 노션 페이지를 찾을수 없다는데요..

0

52

1

w3school 결과 에러 관련 질문

0

202

2

수료증

0

1444

2

JOIN 사용시 ON과 USING 차이

1

1058

1

혹시 having 대신 where를 써도 되나요??

1

592

1

강의자료 질문

3

331

0

서브쿼리 연습은 어디서 많이 할 수 있을까요???

1

445

1