IN 조건에서 해당 컬럼 전체 출력 방법? 0 3 895

by 레브레카 [SQLServer] [2017.03.04 22:35:58]


제목 달기가 애매하네요...

예를 들어 다음과 같이 조회를 합니다.

SELECT * FROM 테이블 WHERE 컬럼 IN ('a', 'b', 'c')

부가조건 날짜

 

해당 날짜에는 'a', 'c' 의 데이터만 있어서 'b'가 제외됨

해당 컬럼으로 GROUP BY 할때

 

널값이어도 되니까

'a', 'b', 'c' 전체 출력할 방법이 없을까요?

 

SELECT 'a' AS 컬럼

UNION SELECT 'b' AS 컬럼

UNION SELECT 'c' AS 컬럼

 

해서 LEFT JOIN 해봐도 나오지를 않아요.....

PIVOT을 사용하지 않고, 출력할 수 없을까요?

by jkson [2017.03.06 08:08:43]

DB 종류가..?

with t(code, val) as
(
select 'a', 1 union all
select 'a', 2 union all
select 'a', 3 union all
select 'b', 4 union all
select 'b', 5
)
select a.code, isnull(b.val,0) val
  from
  (
	select 'a' code union all
	select 'b' code union all
	select 'c' code
  ) a left outer join
  ( select code, sum(val) val
      from t
	 group by code
  ) b on a.code = b.code

이런식으로 left outer join 하신 것 맞나요?


by 레브레카 [2017.03.06 09:33:18]

GROUP BY를 안하고 조인해서 그랬네요... 합계 때문에 ROLLUP 할려했는데 널있음 안되서...프로그래밍단에서 해야겠네요...


by 마농 [2017.03.07 10:39:42]

SQL 로 하는게 프로그램으로 하는 것보다 비효율이라서 프로그램으로 하는거라면 좋습니다.
그러나, SQL 로 하는게 불가능해서 프로그램으로 하는거라면?
정말 SQL 로 불가능한지? 다시 한번 생각해 보세요.

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