안녕하세요
입출금 내역쿼리를 작성하는데요
아래와 입출금 내역이 한 테이블에 있습니다.
with a as(
select '2018-08-10' dt, '입금' gubun, '10000' 금액, 'a사 매출대금' memo
union
select '2018-08-10' dt, '입금' gubun, '20000' 금액, 'b사 매출대금' memo
union
select '2018-08-10' dt, '출금' gubun, '5000' 금액 , '직원식대' memo
union
select '2018-08-11' dt, '출금' gubun, '3000' 금액, '비품구매' memo
union
select '2018-08-11' dt, '출금' gubun, '1000' 금액, '영업주차비' memo
union
select '2018-08-11' dt, '입금' gubun, '7000' 금액, '거래처 입금' memo
)
select * from a
날짜 | 내용 | 입금액 | 내용 | 출금액 |
2018-08-10 | a사 매출대금 | 10000 |
|
|
2018-08-10 | b사 매출대금 | 20000 |
|
|
2018-08-10 |
|
| 직원식대 | 5000 |
2018-08-11 |
|
| 비품구매 | 3000 |
2018-08-11 |
|
| 영업주차비 | 1000 |
2018-08-11 | 거래처 입금 | 7000 |
날짜 | 내용 | 입금액 | 내용 | 출금액 |
2018-08-10 | a사 매출대금 | 10000 | 직원식대 | 5000 |
2018-08-10 | b사 매출대금 | 20000 |
|
|
2018-08-11 | 거래처입금 | 7000 | 비품구매 | 3000 |
2018-08-11 |
|
| 영업주차비 | 1000 |
입/출금 내역 각 건별로 한개 Row로 나오도록 하는건 알겠는데
이렇게 입출금 내역이 같은 행으로 출력하는건 도무지 생각나지 않네요.
고수분들 도움부탁드립니다.
Comment 3
-
안돼요
2018.08.13 13:14
-
약은 중
2018.08.20 21:06
with a as(select '2018-08-10' dt, '입금' gubun, '10000' 금액, 'a사 매출대금' memounionselect '2018-08-10' dt, '입금' gubun, '20000' 금액, 'b사 매출대금' memounionselect '2018-08-10' dt, '출금' gubun, '5000' 금액 , '직원식대' memounionselect '2018-08-11' dt, '출금' gubun, '3000' 금액, '비품구매' memounionselect '2018-08-11' dt, '출금' gubun, '1000' 금액, '영업주차비' memounionselect '2018-08-11' dt, '입금' gubun, '7000' 금액, '거래처 입금' memo)SELECT a.dt,MIN(CASE a.gubun WHEN '입금' THEN a.memo END) 입금메모,MIN(CASE A.gubun WHEN '입금' THEN A.금액 END) 입금액,MIN(CASE a.gubun WHEN '출금' THEN a.memo END) 출금메모,MIN(CASE A.gubun WHEN '출금' THEN A.금액 END) 출금액FROM (select dt,gubun,금액,memo,ROW_NUMBER() OVER(PARTITION BY gubun,dt ORDER BY dt) RNfrom a) AGROUP BY a.dt,A.RNORDER BY A.dt,A.RN; -
안돼요
2018.08.21 16:38
이렇게 간단하다니.. 감사합니다
전혀생각못했네요
글 작성자입니다. 어쩌다 만들다보니 원하는모양이 되긴 했는데
이것보다 간단하 쉬운방법 있을까요??