안녕하세요. 항상 SQLER에서 고마운 도움 받고 있는 초보 유저입니다.
제가 궁극적으로 만들고자 하는 뷰테이블은 아래와 같습니다.
위와 같은 리스트를 만들어서 웹으로 보여주려고 합니다. 빨간색으로 마킹한 부분이 유동적으로 바뀌는 부분인데요
이런식으로 빨간색 네모 친 부분만 오늘의 날짜에 따라서 시작 날짜가 오늘의 날짜로 바뀌어 뿌려주게 하려 합니다.
오늘이 3월 5일이면 3월 5일부터 +13일치를 조회해서 가져와서 횡으로 뿌려주고 마지막에 total 값,
오늘이 3월 7일이면 3월 7일부터 +13일 치를 조회해서 가져와 횡으로 뿌려주고 마지막에 total 값,
즉 저 페이지를 클릭할 때마다 오늘 날짜 체크해서 리스트를 동적으로 보여주려고 합니다.
친절하신 건우아빠님께서 알려주신 방법대로 하여 소스가 될 테이블은 만들어져 있습니다.
날짜계산과 매일 매일 컬럼이 바뀌게끔 해야되기 때문에 프로저를 써야할 것 같은데
저렇게 컬럼이 유동적인 것은 전에 해본 레퍼런스가 없어서 감을 못잡고 있네요...
선구자분들의 조언을 부탁드리겠습니다.
저 결과를 만들 소스가 되는 테이블은 다음과 같습니다.
참고로 아래 테이블 날짜는 18일까지만 업데이트 되어 있지만 매일 혹은 수시로 다음 날짜들이 인서트 되어 생성될 예정입니다.
그러한 데이터들이 모여있는 아래 테이블을 토대로 접속하는 날짜를 기준으로 DailyDate 컬럼값을 조회하여
+13일치의 DailyQty를 데이터를 가져와서 위와 같이 횡으로 나열시킬 수 있는 프로시저를 만들려는 것이 최종 목적입니다.
혹시 프로시저를 이용해서 저런 결과가 나오는 뷰테이블을 만드는 것이 가능한지요?
특정 컬럼명이 접속 날짜에 따라 바뀌는 것이 관건입니다.
뷰로 만들려는 이유는 저 결과를 토대로 옆에 창고별 재고 등의 데이터를 붙이고 전체를 페이징을 하기 위함입니다.
꼭 뷰가 아니여도 되긴 합니다만 우선은 저런 결과가 나오게끔 프로시저라도 작성해보려고 합니다.
감을 못잡고 해매고 있는 미천한 초보에게 소중한 도움의 손길 부탁드려 보겠습니다.
소스 테이블 명 : Customer_S
CustomerOutTDayId | CustomerNo | DeliverNo | PartNo | Unit | Stock | DailyQty | DailyDate | DateCreated | DateCount |
1 | KO16000 | KR16000A | DW466 | 56 | 0 | 212 | 2013-03-05 00:00:00 | 2013-03-05 | 1 |
1 | KO16000 | KR16000A | DW466 | 56 | 0 | 188 | 2013-03-06 00:00:00 | 2013-03-05 | 2 |
1 | KO16000 | KR16000A | DW466 | 56 | 0 | 196 | 2013-03-07 00:00:00 | 2013-03-05 | 3 |
1 | KO16000 | KR16000A | DW466 | 56 | 0 | 160 | 2013-03-08 00:00:00 | 2013-03-05 | 4 |
1 | KO16000 | KR16000A | DW466 | 56 | 0 | 92 | 2013-03-09 00:00:00 | 2013-03-05 | 5 |
1 | KO16000 | KR16000A | DW466 | 56 | 0 | 0 | 2013-03-10 00:00:00 | 2013-03-05 | 6 |
1 | KO16000 | KR16000A | DW466 | 56 | 0 | 156 | 2013-03-11 00:00:00 | 2013-03-05 | 7 |
1 | KO16000 | KR16000A | DW466 | 56 | 0 | 44 | 2013-03-12 00:00:00 | 2013-03-05 | 8 |
1 | KO16000 | KR16000A | DW466 | 56 | 0 | 0 | 2013-03-13 00:00:00 | 2013-03-05 | 9 |
1 | KO16000 | KR16000A | DW466 | 56 | 0 | 0 | 2013-03-14 00:00:00 | 2013-03-05 | 10 |
1 | KO16000 | KR16000A | DW466 | 56 | 0 | 0 | 2013-03-15 00:00:00 | 2013-03-05 | 11 |
1 | KO16000 | KR16000A | DW466 | 56 | 0 | 0 | 2013-03-16 00:00:00 | 2013-03-05 | 12 |
1 | KO16000 | KR16000A | DW466 | 56 | 0 | 0 | 2013-03-17 00:00:00 | 2013-03-05 | 13 |
1 | KO16000 | KR16000A | DW466 | 56 | 0 | 0 | 2013-03-18 00:00:00 | 2013-03-05 | 14 |
2 | KO16000 | KR16000B | DW484 | 42 | 0 | 272 | 2013-03-05 00:00:00 | 2013-03-05 | 1 |
2 | KO16000 | KR16000B | DW484 | 42 | 0 | 236 | 2013-03-06 00:00:00 | 2013-03-05 | 2 |
2 | KO16000 | KR16000B | DW484 | 42 | 0 | 396 | 2013-03-07 00:00:00 | 2013-03-05 | 3 |
2 | KO16000 | KR16000B | DW484 | 42 | 0 | 348 | 2013-03-08 00:00:00 | 2013-03-05 | 4 |
2 | KO16000 | KR16000B | DW484 | 42 | 0 | 0 | 2013-03-09 00:00:00 | 2013-03-05 | 5 |
2 | KO16000 | KR16000B | DW484 | 42 | 0 | 0 | 2013-03-10 00:00:00 | 2013-03-05 | 6 |
2 | KO16000 | KR16000B | DW484 | 42 | 0 | 352 | 2013-03-11 00:00:00 | 2013-03-05 | 7 |
2 | KO16000 | KR16000B | DW484 | 42 | 0 | 276 | 2013-03-12 00:00:00 | 2013-03-05 | 8 |
2 | KO16000 | KR16000B | DW484 | 42 | 0 | 188 | 2013-03-13 00:00:00 | 2013-03-05 | 9 |
2 | KO16000 | KR16000B | DW484 | 42 | 0 | 0 | 2013-03-14 00:00:00 | 2013-03-05 | 10 |
2 | KO16000 | KR16000B | DW484 | 42 | 0 | 0 | 2013-03-15 00:00:00 | 2013-03-05 | 11 |
2 | KO16000 | KR16000B | DW484 | 42 | 0 | 0 | 2013-03-16 00:00:00 | 2013-03-05 | 12 |
2 | KO16000 | KR16000B | DW484 | 42 | 0 | 0 | 2013-03-17 00:00:00 | 2013-03-05 | 13 |
2 | KO16000 | KR16000B | DW484 | 42 | 0 | 0 | 2013-03-18 00:00:00 | 2013-03-05 | 14 |
3 | KO16000 | KR16000B | DW484K | 42 | 0 | 0 | 2013-03-05 00:00:00 | 2013-03-05 | 1 |
3 | KO16000 | KR16000B | DW484K | 42 | 0 | 0 | 2013-03-06 00:00:00 | 2013-03-05 | 2 |
3 | KO16000 | KR16000B | DW484K | 42 | 0 | 0 | 2013-03-07 00:00:00 | 2013-03-05 | 3 |
3 | KO16000 | KR16000B | DW484K | 42 | 0 | 0 | 2013-03-08 00:00:00 | 2013-03-05 | 4 |
3 | KO16000 | KR16000B | DW484K | 42 | 0 | 0 | 2013-03-09 00:00:00 | 2013-03-05 | 5 |
3 | KO16000 | KR16000B | DW484K | 42 | 0 | 0 | 2013-03-10 00:00:00 | 2013-03-05 | 6 |
3 | KO16000 | KR16000B | DW484K | 42 | 0 | 0 | 2013-03-11 00:00:00 | 2013-03-05 | 7 |
3 | KO16000 | KR16000B | DW484K | 42 | 0 | 0 | 2013-03-12 00:00:00 | 2013-03-05 | 8 |
3 | KO16000 | KR16000B | DW484K | 42 | 0 | 0 | 2013-03-13 00:00:00 | 2013-03-05 | 9 |
3 | KO16000 | KR16000B | DW484K | 42 | 0 | 0 | 2013-03-14 00:00:00 | 2013-03-05 | 10 |
3 | KO16000 | KR16000B | DW484K | 42 | 0 | 0 | 2013-03-15 00:00:00 | 2013-03-05 | 11 |
3 | KO16000 | KR16000B | DW484K | 42 | 0 | 0 | 2013-03-16 00:00:00 | 2013-03-05 | 12 |
3 | KO16000 | KR16000B | DW484K | 42 | 0 | 0 | 2013-03-17 00:00:00 | 2013-03-05 | 13 |
3 | KO16000 | KR16000B | DW484K | 42 | 0 | 0 | 2013-03-18 00:00:00 | 2013-03-05 | 14 |
4 | KO16000 | KR16000C | DW456 | 42 | 0 | 48 | 2013-03-05 00:00:00 | 2013-03-05 | 1 |
4 | KO16000 | KR16000C | DW456 | 42 | 0 | 36 | 2013-03-06 00:00:00 | 2013-03-05 | 2 |
4 | KO16000 | KR16000C | DW456 | 42 | 0 | 76 | 2013-03-07 00:00:00 | 2013-03-05 | 3 |
4 | KO16000 | KR16000C | DW456 | 42 | 0 | 0 | 2013-03-08 00:00:00 | 2013-03-05 | 4 |
4 | KO16000 | KR16000C | DW456 | 42 | 0 | 0 | 2013-03-09 00:00:00 | 2013-03-05 | 5 |
4 | KO16000 | KR16000C | DW456 | 42 | 0 | 0 | 2013-03-10 00:00:00 | 2013-03-05 | 6 |
4 | KO16000 | KR16000C | DW456 | 42 | 0 | 84 | 2013-03-11 00:00:00 | 2013-03-05 | 7 |
4 | KO16000 | KR16000C | DW456 | 42 | 0 | 60 | 2013-03-12 00:00:00 | 2013-03-05 | 8 |
4 | KO16000 | KR16000C | DW456 | 42 | 0 | 84 | 2013-03-13 00:00:00 | 2013-03-05 | 9 |
4 | KO16000 | KR16000C | DW456 | 42 | 0 | 0 | 2013-03-14 00:00:00 | 2013-03-05 | 10 |
4 | KO16000 | KR16000C | DW456 | 42 | 0 | 0 | 2013-03-15 00:00:00 | 2013-03-05 | 11 |
4 | KO16000 | KR16000C | DW456 | 42 | 0 | 0 | 2013-03-16 00:00:00 | 2013-03-05 | 12 |
4 | KO16000 | KR16000C | DW456 | 42 | 0 | 0 | 2013-03-17 00:00:00 | 2013-03-05 | 13 |
4 | KO16000 | KR16000C | DW456 | 42 | 0 | 0 | 2013-03-18 00:00:00 | 2013-03-05 | 14 |
5 | KO16000 | KR16000D | DW489 | 64 | 0 | 40 | 2013-03-05 00:00:00 | 2013-03-05 | 1 |
5 | KO16000 | KR16000D | DW489 | 64 | 0 | 36 | 2013-03-06 00:00:00 | 2013-03-05 | 2 |
5 | KO16000 | KR16000D | DW489 | 64 | 0 | 36 | 2013-03-07 00:00:00 | 2013-03-05 | 3 |
5 | KO16000 | KR16000D | DW489 | 64 | 0 | 56 | 2013-03-08 00:00:00 | 2013-03-05 | 4 |
5 | KO16000 | KR16000D | DW489 | 64 | 0 | 20 | 2013-03-09 00:00:00 | 2013-03-05 | 5 |
5 | KO16000 | KR16000D | DW489 | 64 | 0 | 16 | 2013-03-10 00:00:00 | 2013-03-05 | 6 |
5 | KO16000 | KR16000D | DW489 | 64 | 0 | 36 | 2013-03-11 00:00:00 | 2013-03-05 | 7 |
5 | KO16000 | KR16000D | DW489 | 64 | 0 | 0 | 2013-03-12 00:00:00 | 2013-03-05 | 8 |
5 | KO16000 | KR16000D | DW489 | 64 | 0 | 0 | 2013-03-13 00:00:00 | 2013-03-05 | 9 |
5 | KO16000 | KR16000D | DW489 | 64 | 0 | 0 | 2013-03-14 00:00:00 | 2013-03-05 | 10 |
5 | KO16000 | KR16000D | DW489 | 64 | 0 | 0 | 2013-03-15 00:00:00 | 2013-03-05 | 11 |
5 | KO16000 | KR16000D | DW489 | 64 | 0 | 0 | 2013-03-16 00:00:00 | 2013-03-05 | 12 |
5 | KO16000 | KR16000D | DW489 | 64 | 0 | 0 | 2013-03-17 00:00:00 | 2013-03-05 | 13 |
5 | KO16000 | KR16000D | DW489 | 64 | 0 | 0 | 2013-03-18 00:00:00 | 2013-03-05 | 14 |
6 | KO12000 | KR12003A | HD1076 | 99 | 3663 | 541 | 2013-03-05 00:00:00 | 2013-03-05 | 1 |
6 | KO12000 | KR12003A | HD1076 | 99 | 3663 | 694 | 2013-03-06 00:00:00 | 2013-03-05 | 2 |
6 | KO12000 | KR12003A | HD1076 | 99 | 3663 | 403 | 2013-03-07 00:00:00 | 2013-03-05 | 3 |
6 | KO12000 | KR12003A | HD1076 | 99 | 3663 | 956 | 2013-03-08 00:00:00 | 2013-03-05 | 4 |
6 | KO12000 | KR12003A | HD1076 | 99 | 3663 | 0 | 2013-03-09 00:00:00 | 2013-03-05 | 5 |
6 | KO12000 | KR12003A | HD1076 | 99 | 3663 | 0 | 2013-03-10 00:00:00 | 2013-03-05 | 6 |
6 | KO12000 | KR12003A | HD1076 | 99 | 3663 | 935 | 2013-03-11 00:00:00 | 2013-03-05 | 7 |
6 | KO12000 | KR12003A | HD1076 | 99 | 3663 | 1118 | 2013-03-12 00:00:00 | 2013-03-05 | 8 |
6 | KO12000 | KR12003A | HD1076 | 99 | 3663 | 618 | 2013-03-13 00:00:00 | 2013-03-05 | 9 |
6 | KO12000 | KR12003A | HD1076 | 99 | 3663 | 116 | 2013-03-14 00:00:00 | 2013-03-05 | 10 |
6 | KO12000 | KR12003A | HD1076 | 99 | 3663 | 0 | 2013-03-15 00:00:00 | 2013-03-05 | 11 |
6 | KO12000 | KR12003A | HD1076 | 99 | 3663 | 0 | 2013-03-16 00:00:00 | 2013-03-05 | 12 |
6 | KO12000 | KR12003A | HD1076 | 99 | 3663 | 0 | 2013-03-17 00:00:00 | 2013-03-05 | 13 |
6 | KO12000 | KR12003A | HD1076 | 99 | 3663 | 0 | 2013-03-18 00:00:00 | 2013-03-05 | 14 |
7 | KO12000 | KR12003B | HD1063 | 64 | 3392 | 855 | 2013-03-05 00:00:00 | 2013-03-05 | 1 |
7 | KO12000 | KR12003B | HD1063 | 64 | 3392 | 530 | 2013-03-06 00:00:00 | 2013-03-05 | 2 |
7 | KO12000 | KR12003B | HD1063 | 64 | 3392 | 344 | 2013-03-07 00:00:00 | 2013-03-05 | 3 |
7 | KO12000 | KR12003B | HD1063 | 64 | 3392 | 314 | 2013-03-08 00:00:00 | 2013-03-05 | 4 |
7 | KO12000 | KR12003B | HD1063 | 64 | 3392 | 0 | 2013-03-09 00:00:00 | 2013-03-05 | 5 |
7 | KO12000 | KR12003B | HD1063 | 64 | 3392 | 0 | 2013-03-10 00:00:00 | 2013-03-05 | 6 |
7 | KO12000 | KR12003B | HD1063 | 64 | 3392 | 333 | 2013-03-11 00:00:00 | 2013-03-05 | 7 |
7 | KO12000 | KR12003B | HD1063 | 64 | 3392 | 475 | 2013-03-12 00:00:00 | 2013-03-05 | 8 |
7 | KO12000 | KR12003B | HD1063 | 64 | 3392 | 766 | 2013-03-13 00:00:00 | 2013-03-05 | 9 |
7 | KO12000 | KR12003B | HD1063 | 64 | 3392 | 770 | 2013-03-14 00:00:00 | 2013-03-05 | 10 |
7 | KO12000 | KR12003B | HD1063 | 64 | 3392 | 828 | 2013-03-15 00:00:00 | 2013-03-05 | 11 |
7 | KO12000 | KR12003B | HD1063 | 64 | 3392 | 762 | 2013-03-16 00:00:00 | 2013-03-05 | 12 |
7 | KO12000 | KR12003B | HD1063 | 64 | 3392 | 802 | 2013-03-17 00:00:00 | 2013-03-05 | 13 |
7 | KO12000 | KR12003B | HD1063 | 64 | 3392 | 0 | 2013-03-18 00:00:00 | 2013-03-05 | 14 |
8 | KO12000 | KR12003B | HD1064TA | 56 | 4088 | 592 | 2013-03-05 00:00:00 | 2013-03-05 | 1 |
8 | KO12000 | KR12003B | HD1064TA | 56 | 4088 | 488 | 2013-03-06 00:00:00 | 2013-03-05 | 2 |
8 | KO12000 | KR12003B | HD1064TA | 56 | 4088 | 472 | 2013-03-07 00:00:00 | 2013-03-05 | 3 |
8 | KO12000 | KR12003B | HD1064TA | 56 | 4088 | 480 | 2013-03-08 00:00:00 | 2013-03-05 | 4 |
8 | KO12000 | KR12003B | HD1064TA | 56 | 4088 | 440 | 2013-03-09 00:00:00 | 2013-03-05 | 5 |
8 | KO12000 | KR12003B | HD1064TA | 56 | 4088 | 0 | 2013-03-10 00:00:00 | 2013-03-05 | 6 |
8 | KO12000 | KR12003B | HD1064TA | 56 | 4088 | 392 | 2013-03-11 00:00:00 | 2013-03-05 | 7 |
8 | KO12000 | KR12003B | HD1064TA | 56 | 4088 | 400 | 2013-03-12 00:00:00 | 2013-03-05 | 8 |
8 | KO12000 | KR12003B | HD1064TA | 56 | 4088 | 400 | 2013-03-13 00:00:00 | 2013-03-05 | 9 |
8 | KO12000 | KR12003B | HD1064TA | 56 | 4088 | 396 | 2013-03-14 00:00:00 | 2013-03-05 | 10 |
8 | KO12000 | KR12003B | HD1064TA | 56 | 4088 | 404 | 2013-03-15 00:00:00 | 2013-03-05 | 11 |
8 | KO12000 | KR12003B | HD1064TA | 56 | 4088 | 404 | 2013-03-16 00:00:00 | 2013-03-05 | 12 |
8 | KO12000 | KR12003B | HD1064TA | 56 | 4088 | 0 | 2013-03-17 00:00:00 | 2013-03-05 | 13 |
8 | KO12000 | KR12003B | HD1064TA | 56 | 4088 | 0 | 2013-03-18 00:00:00 | 2013-03-05 | 14 |
9 | KO12000 | KR12003B | HD1064TAH | 56 | 0 | 696 | 2013-03-05 00:00:00 | 2013-03-05 | 1 |
9 | KO12000 | KR12003B | HD1064TAH | 56 | 0 | 164 | 2013-03-06 00:00:00 | 2013-03-05 | 2 |
9 | KO12000 | KR12003B | HD1064TAH | 56 | 0 | 164 | 2013-03-07 00:00:00 | 2013-03-05 | 3 |
9 | KO12000 | KR12003B | HD1064TAH | 56 | 0 | 164 | 2013-03-08 00:00:00 | 2013-03-05 | 4 |
9 | KO12000 | KR12003B | HD1064TAH | 56 | 0 | 0 | 2013-03-09 00:00:00 | 2013-03-05 | 5 |
9 | KO12000 | KR12003B | HD1064TAH | 56 | 0 | 0 | 2013-03-10 00:00:00 | 2013-03-05 | 6 |
9 | KO12000 | KR12003B | HD1064TAH | 56 | 0 | 160 | 2013-03-11 00:00:00 | 2013-03-05 | 7 |
9 | KO12000 | KR12003B | HD1064TAH | 56 | 0 | 160 | 2013-03-12 00:00:00 | 2013-03-05 | 8 |
9 | KO12000 | KR12003B | HD1064TAH | 56 | 0 | 20 | 2013-03-13 00:00:00 | 2013-03-05 | 9 |
9 | KO12000 | KR12003B | HD1064TAH | 56 | 0 | 0 | 2013-03-14 00:00:00 | 2013-03-05 | 10 |
9 | KO12000 | KR12003B | HD1064TAH | 56 | 0 | 0 | 2013-03-15 00:00:00 | 2013-03-05 | 11 |
9 | KO12000 | KR12003B | HD1064TAH | 56 | 0 | 0 | 2013-03-16 00:00:00 | 2013-03-05 | 12 |
9 | KO12000 | KR12003B | HD1064TAH | 56 | 0 | 0 | 2013-03-17 00:00:00 | 2013-03-05 | 13 |
9 | KO12000 | KR12003B | HD1064TAH | 56 | 0 | 0 | 2013-03-18 00:00:00 | 2013-03-05 | 14 |
10 | KO12000 | KR12003E | HD1058 | 42 | 4830 | 1751 | 2013-03-05 00:00:00 | 2013-03-05 | 1 |
10 | KO12000 | KR12003E | HD1058 | 42 | 4830 | 1490 | 2013-03-06 00:00:00 | 2013-03-05 | 2 |
10 | KO12000 | KR12003E | HD1058 | 42 | 4830 | 1067 | 2013-03-07 00:00:00 | 2013-03-05 | 3 |
10 | KO12000 | KR12003E | HD1058 | 42 | 4830 | 1240 | 2013-03-08 00:00:00 | 2013-03-05 | 4 |
10 | KO12000 | KR12003E | HD1058 | 42 | 4830 | 1331 | 2013-03-09 00:00:00 | 2013-03-05 | 5 |
10 | KO12000 | KR12003E | HD1058 | 42 | 4830 | 0 | 2013-03-10 00:00:00 | 2013-03-05 | 6 |
10 | KO12000 | KR12003E | HD1058 | 42 | 4830 | 1286 | 2013-03-11 00:00:00 | 2013-03-05 | 7 |
10 | KO12000 | KR12003E | HD1058 | 42 | 4830 | 924 | 2013-03-12 00:00:00 | 2013-03-05 | 8 |
10 | KO12000 | KR12003E | HD1058 | 42 | 4830 | 901 | 2013-03-13 00:00:00 | 2013-03-05 | 9 |
10 | KO12000 | KR12003E | HD1058 | 42 | 4830 | 1052 | 2013-03-14 00:00:00 | 2013-03-05 | 10 |
10 | KO12000 | KR12003E | HD1058 | 42 | 4830 | 936 | 2013-03-15 00:00:00 | 2013-03-05 | 11 |
10 | KO12000 | KR12003E | HD1058 | 42 | 4830 | 1138 | 2013-03-16 00:00:00 | 2013-03-05 | 12 |
10 | KO12000 | KR12003E | HD1058 | 42 | 4830 | 0 | 2013-03-17 00:00:00 | 2013-03-05 | 13 |
10 | KO12000 | KR12003E | HD1058 | 42 | 4830 | 0 | 2013-03-18 00:00:00 | 2013-03-05 | 14 |
11 | KO12000 | KR12003E | HD1058H | 42 | 0 | 0 | 2013-03-05 00:00:00 | 2013-03-05 | 1 |
11 | KO12000 | KR12003E | HD1058H | 42 | 0 | 0 | 2013-03-06 00:00:00 | 2013-03-05 | 2 |
11 | KO12000 | KR12003E | HD1058H | 42 | 0 | 0 | 2013-03-07 00:00:00 | 2013-03-05 | 3 |
11 | KO12000 | KR12003E | HD1058H | 42 | 0 | 0 | 2013-03-08 00:00:00 | 2013-03-05 | 4 |
11 | KO12000 | KR12003E | HD1058H | 42 | 0 | 0 | 2013-03-09 00:00:00 | 2013-03-05 | 5 |
11 | KO12000 | KR12003E | HD1058H | 42 | 0 | 0 | 2013-03-10 00:00:00 | 2013-03-05 | 6 |
11 | KO12000 | KR12003E | HD1058H | 42 | 0 | 0 | 2013-03-11 00:00:00 | 2013-03-05 | 7 |
11 | KO12000 | KR12003E | HD1058H | 42 | 0 | 0 | 2013-03-12 00:00:00 | 2013-03-05 | 8 |
11 | KO12000 | KR12003E | HD1058H | 42 | 0 | 0 | 2013-03-13 00:00:00 | 2013-03-05 | 9 |
11 | KO12000 | KR12003E | HD1058H | 42 | 0 | 0 | 2013-03-14 00:00:00 | 2013-03-05 | 10 |
11 | KO12000 | KR12003E | HD1058H | 42 | 0 | 0 | 2013-03-15 00:00:00 | 2013-03-05 | 11 |
11 | KO12000 | KR12003E | HD1058H | 42 | 0 | 0 | 2013-03-16 00:00:00 | 2013-03-05 | 12 |
11 | KO12000 | KR12003E | HD1058H | 42 | 0 | 0 | 2013-03-17 00:00:00 | 2013-03-05 | 13 |
11 | KO12000 | KR12003E | HD1058H | 42 | 0 | 0 | 2013-03-18 00:00:00 | 2013-03-05 | 14 |
12 | KO12000 | KR12002A | HD1079 | 49 | 0 | 20 | 2013-03-05 00:00:00 | 2013-03-05 | 1 |
12 | KO12000 | KR12002A | HD1079 | 49 | 0 | 100 | 2013-03-06 00:00:00 | 2013-03-05 | 2 |
12 | KO12000 | KR12002A | HD1079 | 49 | 0 | 0 | 2013-03-07 00:00:00 | 2013-03-05 | 3 |
12 | KO12000 | KR12002A | HD1079 | 49 | 0 | 0 | 2013-03-08 00:00:00 | 2013-03-05 | 4 |
12 | KO12000 | KR12002A | HD1079 | 49 | 0 | 0 | 2013-03-09 00:00:00 | 2013-03-05 | 5 |
12 | KO12000 | KR12002A | HD1079 | 49 | 0 | 0 | 2013-03-10 00:00:00 | 2013-03-05 | 6 |
12 | KO12000 | KR12002A | HD1079 | 49 | 0 | 0 | 2013-03-11 00:00:00 | 2013-03-05 | 7 |
12 | KO12000 | KR12002A | HD1079 | 49 | 0 | 5 | 2013-03-12 00:00:00 | 2013-03-05 | 8 |
12 | KO12000 | KR12002A | HD1079 | 49 | 0 | 20 | 2013-03-13 00:00:00 | 2013-03-05 | 9 |
12 | KO12000 | KR12002A | HD1079 | 49 | 0 | 10 | 2013-03-14 00:00:00 | 2013-03-05 | 10 |
12 | KO12000 | KR12002A | HD1079 | 49 | 0 | 170 | 2013-03-15 00:00:00 | 2013-03-05 | 11 |
12 | KO12000 | KR12002A | HD1079 | 49 | 0 | 0 | 2013-03-16 00:00:00 | 2013-03-05 | 12 |
12 | KO12000 | KR12002A | HD1079 | 49 | 0 | 0 | 2013-03-17 00:00:00 | 2013-03-05 | 13 |
12 | KO12000 | KR12002A | HD1079 | 49 | 0 | 0 | 2013-03-18 00:00:00 |
Comment 9
-
군고구마
2013.11.18 16:17
-
하이페츠
2013.11.18 16:32
안녕하세요 군고구마님. 예 O_o;
기존 소스테이블이 있으니 만약 말씀하신대로 고정된 날짜만 딱 보여주는 거라면 저걸 pivot하면 되긴하나
DB상에서 요청이 들어왔을때 오늘 날짜를 인지하여 해당하는 리스트만 계산하여 횡으로 웹에 뿌려줄 수 있도록
저런 형태로 가공을 해야하니 막막하네요.
-
군고구마
2013.11.18 16:42
그렇다면 이렇게 해보세요.
SELECT ID,ORDERS
FROM
(
SELECT ID,A,B,C,D,E,F
FROM COUNT_TEST WITH(NOLOCK)
)P
UNPIVOT
(ORDERS FOR COUNTS IN
(A,B,C,D,E,F)
)AS UNP
GO
unpivot의 기본적인 형태인데요.
안쪽에SELECT ID,A,B,C,D,E,F
FROM COUNT_TEST WITH(NOLOCK) 부분에
where 조건을 추가 하는거죠.
예를 들면 날짜기 때문에 where data >= @start_data and date < @end_date
이런식으로 추가하고 unpivot을 이용하는건 어떨까요?
그대신 파라미터는 당연히 늘어나겠네요.
짧은 지식으로 답변하니 100% 확신은 못하지만 이전에 이렇게 해본 기억이 있어서요.
-
건우아빠
2013.11.18 16:46
웹상에서 목차 부분은 만드시면 되듯 하고 ...
숫자로 고정을 시키는 방법을 하면 큰 무리는 없을듯 합니다.
웹상에서는 기간을 주고 조회할것이므로 from ~ to 일자에서 from 일자를 넣으시면 될듯 합니다.
with res as
(
select 1CustomerOutTDayId ,'KO16000' CustomerNo,'KR16000A' DeliverNo,'DW466' PartNo
,56 Unit,0 Stock ,212 day1,188 day2 ,196 day3,160 day4 ,92 day5 ,0 day6,156 day7,44 day8,0 day9,0 day10,0 day11,0 day12,0 day13,0 day14 , '2013-10-05' DateCreated union all
select 2 ,'KO16000' ,'KR16000B' ,'DW484' ,42 ,0 ,236 ,396 ,348 ,0 ,0 ,352 ,276 ,188 ,0 ,0 ,0 ,0 ,0 ,0 , '2013-10-05' DateCreated )
,result as (
select CustomerOutTDayId, CustomerNo, DeliverNo, PartNo, Unit, Stock --, DateCreated, substring(daygubun,4,2)
, convert(varchar(10) , DATEADD(dd, convert(int, substring(daygubun,4,2)) - 1 , DateCreated ) ,120 ) DateCreated
, DayQty
, DATEDIFF(dd, '2013-10-05' , convert(varchar(10) , DATEADD(dd, convert(int, substring(daygubun,4,2)) - 1 , DateCreated ) ,120 )) gun
from res
unpivot
(
DayQty for daygubun in
( day1, day2, day3 ,day4 ,day5 ,day6 ,day7 ,day8 ,day9 ,day10 ,day11 ,day12, day13, day14
)
) as unpvt )select CustomerOutTDayId , CustomerNo, DeliverNo, PartNo ,Unit, Stock
, sum([0]) day1
, sum([1]) day2
, sum([2]) day3
, sum([3]) day4
, sum([4]) day5
, sum([5]) day6
, sum([6]) day7
, sum([7]) day8
, sum([8]) day9
, sum([9]) day10
, sum([10]) day11
, sum([11]) day12
, sum([12]) day13
, sum([13]) day14
from result
pivot
(
sum(DayQty)
for gun in
( [0],[1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13] )
) as pvt
group by CustomerOutTDayId , CustomerNo, DeliverNo, PartNo ,Unit, Stock -
하이페츠
2013.11.18 17:02
이럴수가...이렇게 빨리 해결하시다니. 역시 최고십니다.
훌륭합니다.
제 머리로는 6개월은 족히 걸렸을 것을....이리 간단히 해결하시다니
저는 앞으로 건우아빠님의 추종자가 될 것을 맹세합니다.
근데 끝에 total 결과를 붙여서 일자별 총 합계를 출력하려면 어디를 건드리면 될 런지요?
-
건우아빠
2013.11.18 17:05
, sum([0]) day1
, sum([1]) day2
.....
, sum([13]) day14
, sum([0]) + sum([1]) + .... + sum([13]) total 하시면 됩니다. -
하이페츠
2013.11.18 17:19
아~ 역시 쩌십니다.
항상 막막하고 어려운 걸림돌이 있을 때마다 가려운 등을 긁어주시고
공수를 1/5로 줄여주시는 훌륭하신 건우아빠님께 축복을 기원하겠습니다.
항상 건우아버지님께 감사한 마음을 가지고 코딩을 할 것이며
무지한 후배들에게 알고 계신 지식을 나눠주신 그 마음 두고 두고 잊지 않겠습니다.
저도 언젠가 이런 지식을 공유할 수 있을만큼의 내공이 쌓이길 기원하며
오늘은 물러가겠습니다. 남은 하루 행복하시길 기원하며
늘 가정과 업무에 축복과 행운이 뒤따르시길 진심으로 염원합니다.
정말 잘 배워갑니다. 그럼 행복하세요!
-
건우아빠
2013.11.18 17:24
해외에서 고생하시는데 조금이나마 도움이 되었다니 다행입니다.
지금 인도네시아인가요.. 그쪽은 태풍피해는 없나요 ?
-
하이페츠
2013.11.18 17:30
아 기억하고 계셨군요.
저는 지난 추석 때 들어왔습니다.
안부 감사드립니다.
당분간은 국내 프로젝트에 투입될 것 같습니다.
언제 한번 기회가 된다면 술 한잔 사드리고 싶습니다.
늘 도움만 받아서 제가 너무 염치가 없네요. ㅎㅎ
그러니깐 UNPIVOT으로 해결은 가능하지만
날짜가 계속 바뀌므로 UNPIVOT에 값을 어떻게 넣을지 몰라서 그러한 문제가 발생한다는 말씀이신지요?