안녕하세요 초초보 ms-sql작업을 하는 1인입니다..ㅠ.ㅠ
DECLARE @memname varchar(50),
@tagno varchar(50),
@orgname varchar(50),
@wdate1 char(12),
@wdate2 char(12)
SET @orgname = '' --학교이름(
SET @tagno = '' --학생태그번호
SET @memname = '김효진'--학생이름
SET @wdate1 = '20100721' --시작시간
SET @wdate2 = '20100722' --끝나는시간
SELECT C.ORGNAME,A.MEMBERID,A.MEMNAME,B.TAGNO,A.USERID,D.NAME,A.DESCRIPT,A.WDATE
FROM dbo.TB_CONSULT_HIST A
JOIN ANYCARE.dbo.TB_MEMBER B
ON A.MEMBERID = B.MEMBERID
JOIN ANYCARE.dbo.TB_ORGAN C
ON LEFT(A.MEMBERID,5) + '000' = C.ORGMEM
JOIN ANYCARE.dbo.TB_BRANCH D
ON A.USERID = D.BRMEM
WHERE A.MEMNAME = @memname or B.TAGNO = @tagno or LEFT(C.ORGNAME,2) = @orgname
AND CONVERT(CHAR(8),A.WDATE,112) between @wdate1 AND @wdate2
ORDER BY CONVERT(CHAR(8),A.WDATE,112) DESC
제가 할려고 하는요건은
SET @orgname = ' ' --학교이름(
SET @tagno = ' ' --학생태그번호
SET @memname = '이하늘' --학생이름
이부분을 하나만 충족을 해도 되야하는데
WHERE A.MEMNAME = @memname or B.TAGNO = @tagno or LEFT(C.ORGNAME,2) = @orgname <--이부분에 가로를 치지 않으면 쿼리는 나오는데 다만 날짜부분이
20100721~22일것만 나와야하는데 이에 해당하는 학생의 작년 날짜도 나오게되서 ㅠㅠ
다시 (WHERE A.MEMNAME = @memname or B.TAGNO = @tagno or LEFT(C.ORGNAME,2) = @orgname) 가로를 치게되면 쿼리는 나오지않고;
죽겠습니다 고수님들 도와주세요 ㅠㅠ
ORGNAME MEMBERID MEMNAME TAGNO USERID NAME DESCRIPT WDATE
북삼초등학교 E0272Q0022 김효진 L01538678 H01010 이미경 재전-타인문자전송된다함/일시수정 2010-07-09 13:26:30.083
북삼초등학교 E0272Q0022 김효진 L01538678 H01010 이미경 지사요청/ 충전안됨/수거차 배송차 2번방문 안내 2010-07-09 13:45:05.130
북삼초등학교 E0272Q0022 김효진 L01538678 H01010 이미경 모-수신폰변경 2010-07-09 13:32:16.200
북삼초등학교 E0272Q0022 김효진 L01538678 H01010 이미경 지사요청 재발급/부재 2010-07-08 18:34:29.037
북삼초등학교 E0272Q0022 김효진 L01538678 H01040 박경숙 불가-뉴월드학원-필요치않음(원장) 2010-05-24 15:17:41.413
북삼초등학교 E0272Q0022 김효진 L01538678 H01040 박경숙 불가-새마을문고-이용학생2명미만으로설불 2010-05-24 16:27:43.467
날자를 보시면 전부다 쿼리가 검색이되네요;;ㅠㅠ
|