답변 주신 건우아빠님께 감사드립니다.

덕분에 프로시저의 소스가 될 Customer_S 테이블을 만들 수 있게 되었습니다.

엑셀업로드 양식자체가 횡으로 되어 있습니다만 해당 내용을 각각 일자별로 수정할 수 있어야하고

해당 일자가 하루도 빠짐없이 매일 기록되어야 하기 때문에 업로드시 횡을 종으로 변경하여 디비화하고

해당 테이블을 프로시저를 통하여 날짜계산을 통해 다시 횡으로 보여주게 끔 구현하기 위해 본 질문을 드렸었습니다.

다시 한번 영감을 주신 건우아빠님께 감사의 말씀 전합니다. 


Day1Day2Day3Day4Day5Day6Day7Day8Day9Day10Day11Day12Day13Day14
21218819616092015644000000






안녕하세요. 프로시저를 짜기 위해서 노력해봤으나 내공이 부족하여 고민하던 차에 이렇게 SQLER에 질문을 드립니다.

간단히 설명드리자면 위와 같이 일자별 횡으로 데이터가 존재하는 테이블을 읽어들여

아래와 같이 일자별 데이터만 종으로 바꿔서 새 테이블에 저장하는 프로시저를 만들려고 합니다.



Day1    

212
Day2188
Day3196
Day4160
Day592
Day60
Day7156
Day844
Day90
Day100
Day110
Day120
Day130
Day14        0





이미지 301.png


기존에 존재하는 소스가 될 Customer_T 테이블입니다. 엑셀로 수시로 업로드 되는 테이블이구요.


DateCreated 컬럼의 값은 모든 ROW가 동일합니다. 즉 시작날짜는 모든 ROW가 동일합니다. 


엑셀 업로드 할때마다 데이터가 전부 지워지고 시작날짜는 변경되어 다른 데이터들이 업로드 됩니다.


위의 Customer_T 테이블에 엑셀 업로드된  데이터를 가지고 아래와 같은 Customer_S 테이블을 만드려고 합니다.



보시는 바와 같이 stock 컬럼까지는 반복되며 일자별만 종으로 바꾸는 거라 row수가 대단히 많아 지는 것이 정상입니다.

기존 테이블에 DateCreated 컬럼 값이 2013-03-05이면 아래 Customer_S 테이블은 2013-03-05일부터 +13일까지 총 2주간의

데이터가 생성되며 DateCreated 컬럼값이 2013-11-10이면 아래 Customer_S 테이블은 2013-11-10부터 총 +13일까지 2주간의

데이터가 업데이트 되게 해야 하는데요 감을 못잡겠습니다 ㅋ



CustomerOutTDayId CustomerNo DeliverNo PartNo Unit Stock DayQty DateCreated Flag DateCreated 설명
1 KO16000 KR16000A DW466 56 0 212 2013-03-05 1 시작날짜
1 KO16000 KR16000A DW466 56 0 188 2013-03-06 1 시작날짜 +1
1 KO16000 KR16000A DW466 56 0 196 2013-03-07 1 시작날짜 +2
1 KO16000 KR16000A DW466 56 0 160 2013-03-08 1 시작날짜 +3
1 KO16000 KR16000A DW466 56 0 92 2013-03-09 1 시작날짜 +4
1 KO16000 KR16000A DW466 56 0 0 2013-03-10 1 시작날짜 +5
1 KO16000 KR16000A DW466 56 0 156 2013-03-11 1 시작날짜 +6
1 KO16000 KR16000A DW466 56 0 44 2013-03-12 1 시작날짜 +7
1 KO16000 KR16000A DW466 56 0 0 2013-03-13 1 시작날짜 +8
1 KO16000 KR16000A DW466 56 0 0 2013-03-14 1 시작날짜 +9
1 KO16000 KR16000A DW466 56 0 0 2013-03-15 1 시작날짜 +10
1 KO16000 KR16000A DW466 56 0 0 2013-03-16 1 시작날짜 +11
1 KO16000 KR16000A DW466 56 0 0 2013-03-17 1 시작날짜 +12
1 KO16000 KR16000A DW466 56 0 0 2013-03-18 1 시작날짜 +13
2 KO16000 KR16000B DW484 42 0 236 2013-03-05 1 시작날짜
2 KO16000 KR16000B DW484 42 0 396 2013-03-06 1 시작날짜 +1
2 KO16000 KR16000B DW484 42 0 348 2013-03-07 1 시작날짜 +2
2 KO16000 KR16000B DW484 42 0 0 2013-03-08 1 시작날짜 +3
2 KO16000 KR16000B DW484 42 0 0 2013-03-09 1 시작날짜 +4
2 KO16000 KR16000B DW484 42 0 352 2013-03-10 1 시작날짜 +5
2 KO16000 KR16000B DW484 42 0 276 2013-03-11 1 시작날짜 +6
2 KO16000 KR16000B DW484 42 0 188 2013-03-12 1 시작날짜 +7
2 KO16000 KR16000B DW484 42 0 0 2013-03-13 1 시작날짜 +8
2 KO16000 KR16000B DW484 42 0 0 2013-03-14 1 시작날짜 +9
2 KO16000 KR16000B DW484 42 0 0 2013-03-15 1 시작날짜 +10
2 KO16000 KR16000B DW484 42 0 0 2013-03-16 1 시작날짜 +11
2 KO16000 KR16000B DW484 42 0 0 2013-03-17 1 시작날짜 +12
2 KO16000 KR16000B DW484 42 0 0 2013-03-18 1 시작날짜 +13
중략                
6 KO12000 KR12003A HD1076 99 3663 541 2013-03-05 1
6 KO12000 KR12003A HD1076 99 3663 694 2013-03-06 1
6 KO12000 KR12003A HD1076 99 3663 403 2013-03-07 1
6 KO12000 KR12003A HD1076 99 3663 956 2013-03-08 1
6 KO12000 KR12003A HD1076 99 3663 0 2013-03-09 1
6 KO12000 KR12003A HD1076 99 3663 0 2013-03-10 1
6 KO12000 KR12003A HD1076 99 3663 935 2013-03-11 1
6 KO12000 KR12003A HD1076 99 3663 1118 2013-03-12 1
6 KO12000 KR12003A HD1076 99 3663 618 2013-03-13 1
6 KO12000 KR12003A HD1076 99 3663 116 2013-03-14 1
6 KO12000 KR12003A HD1076 99 3663 0 2013-03-15 1
6 KO12000 KR12003A HD1076 99 3663 0 2013-03-16 1
6 KO12000 KR12003A HD1076 99 3663 0 2013-03-17 1
6 KO12000 KR12003A HD1076 99 3663 0 2013-03-18 1





























No. Subject Author Date Views
Notice 2023년 1월 - SQLER의 업데이트 강좌 리스트 코난(김대우) 2023.01.02 477
7369 조건을 넣었을 경우 결과값을 뽑을 수 있을까요? [6] taz2315 2013.11.22 4585
7368 DataBase 복사와 관련하여 질문입니다 [1] 박연준 2013.11.22 4684
7367 각기 다른 장비에 있는 DB와 join 을 해서 데이터를 불러 올 수 있을까요? [3] taz2315 2013.11.22 5385
7366 복제 관련 질문드립니다. 파란비 2013.11.22 4932
7365 월별 판매 금액을 구하려합니다. [3] 소이현승파파 2013.11.21 5562
7364 mssql 2005 복원 진행 하려 합니다 몇가지 질문좀 드릴께요.. [2] irun 2013.11.21 6094
7363 테이터에 구분값이 포함되어있는경우 select해오는방법이요? [4] 클리티에 2013.11.21 4999
7362 DB서버가 갑자기 느려지는데 원인을 모르겠습니다(2) [2] 토토로 2013.11.21 7645
7361 간밤에 창고정보가 변경되었는데 원인을 찾을 수 있을까요? [5] Larry 2013.11.21 5270
7360 쿼리스트링 varchar(8000) 변수가 8000byte를 넘어갈때 해결방법좀 문의드립니다. [2] 사랑하면빨어 2013.11.21 5774
7359 oralce 11g를 sql server 2008 로 마이그레이션하기. [2] SQL은힘들다 2013.11.21 5195
7358 union 과 order by 질문입니다. 도와주세요. [7] 생각찾기 2013.11.20 4038
7357 UPDATE OPENQUERY 문의입니다. [2] 착한이 2013.11.20 5462
7356 Full table scan 을 하지 않는 방법! [1] tyzm 2013.11.20 3960
7355 라이센스 변경 문의 [1] 석호 2013.11.19 10279
7354 max server memory 설정 문의 [1] 토토로 2013.11.19 3976
7353 이전 기간 데이타 조회 [3] 냥냥 2013.11.19 3420
7352 DB서버가 갑자기 느려지는데 원인을 모르겠습니다 [1] 토토로 2013.11.18 8080
7351 테이블의 값을 가져와 횡으로 출력하는 프로시저를 작성하려고 합니다. [9] 하이페츠 2013.11.18 5469
» 테이블 내용 중 특정 데이터만 unpivot하는 방법 [2] 하이페츠 2013.11.18 4398





XE Login