select
s.name, s.userid , sp.LearningLevelId, sp.createdate, sp.updatedate, progressid, sp.bookname , sp.part
from admin a
inner join Student s on a.jisacode = s.jisacode
inner join
(
select StudentID, LearningLevelId , sp.createdate, sp.updatedate, progressid, cm2.content as bookname ,cm.content as part
from dbo.StudentProgress sp
Inner join dbo.LearningLevel ll on ll.LevelID = sp.LearningLevelId
inner join dbo.CodeMaster cm on ll.Part = cm.CodeID
inner join dbo.CodeMaster cm2 on ll.Step = cm2.CodeID
where type = 2
) sp on s.pid = sp.studentid
where a.mid = 'p'
해당 쿼리를 돌리면
name | userid | LearningLvelID | updatedate | bookname | part
반XX ban 1 2011-10-04 AL 1
반XX ban 1 2011-10-05 AL 1
반XX ban 1 2011-10-06 AL 1
반XX ban 1 2011-10-07 AL 1
이렇게 나옵니다 근데 이거를
name | userid | .... | 1 | 2 | 3 | 4 | 5 | 6 | 7 | ................. | 31
반XX ban 0 0 0 0 1 1 1
위에 데이터 같이 해당 월에 대한 일자별로 사용자 데이터를 출력하고싶습니다.
간단하게 달력쿼리와 레프트 조인을 걸어서 데이터를
출력하는 방법도 있긴한대 달력쿼리를 만들기가 쉽지 않내요.
혹시 방법 아시는분 이나 MS-SQL 달력쿼리 가지고 계신분 부탁드리겠습니다.
|