DECLARE @memname varchar(50),
@tagno varchar(50),
@orgname varchar(50),
@wdate1 char(12),
@wdate2 char(12)
SET @orgname = 'null' --학교이름(
SET @tagno = 'L01538678' --학생태그번호
SET @memname = '김효진' --학생이름
SET @wdate1 = '20100701' --시작시간
SET @wdate2 = '20100731' --끝나는시간
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 , B.TAGNO = @tagno , 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
위의 WHERE절에 있는부분을 조건으로해서
변수값이 MEMNAME 이 NULL이고 TAGONO만 값이 들어가고 ORGNAME도 널이면
TAGONO만 검색이되야하고.
MEMNAME + TAGNO 넣고 ORGNAME 에 NULL을 주면
두개의 쿼리를 합쳐서 나오게되야하는데 어렵네요 도움부탁드립니다
|