SELECT
'고객번호(사내)' = A.CUSTID,
'고객번호(웹)' = A.MEM_CUSTID,
'고객명' = A.mem_Name,
'고객명(내부)' = A.custname,
'사업자명' = A.CorporateName ,
'전화번호' = isnull(mem_tel,''),
'핸드폰' = MEM_MOBILE,
'사업자NO' = REGNO,
'등록일' = REG_DATE,
'담당부서' = (CASE WHEN A.MASTERCUST = '4811' THEN '1팀'
WHEN A.MASTERCUST = '4812' THEN '2팀'
WHEN A.MASTERCUST = '30544' THEN '3팀'
WHEN A.MASTERCUST = '5095' THEN '악성미수'
WHEN A.MASTERCUST = '23543' THEN '해외지사'
WHEN A.MASTERCUST = '17624' THEN '4. 방문'
WHEN A.MASTERCUST = '30251' THEN '9. 미수'
ELSE CAST(A.MasterCust AS VARCHAR)
END),
'마지막주문일' = ISNULL(B.LAST_JDATE,'주문없음'),
'12년 건수' = ISNULL(C_2012, 0),
' 매출' = ISNULL(S_2012, 0),
'13년 건수' = ISNULL(C_2013, 0),
' 매출' = ISNULL(S_2013, 0),
'14년 건수' = ISNULL(C_2014, 0),
' 매출' = ISNULL(S_2014, 0),
'15년 건수' = ISNULL(C_2015, 0),
' 매출' = ISNULL(S_2015, 0),
'16년 건수' = ISNULL(C_2016, 0),
' 매출' = ISNULL(S_2016, 0),
'17년 건수' = ISNULL(C_2017, 0),
' 매출' = ISNULL(S_2017, 0)
FROM YDR_CUST A
LEFT JOIN YDR_SALE B
ON A.CUSTID = B.CUSTID
WHERE B.LAST_JDATE > '2016-01-01'
AND A.MasterCust IN ('4811','4812','30544','17624')
AND CHARINDEX('(X)',A.mem_Name) < 1
AND A.mem_Name NOT IN (SELECT * FROM YDR_EXCP)
ORDER BY 10, 마지막주문일, 등록일
---------------------
이 쿼리를 실행하면
메시지 116, 수준 16, 상태 1, 줄 40
하위 쿼리를 EXISTS로 정의하지 않은 경우에는 SELECT 목록에서 식을 하나만 지정할 수 있습니다.
이 메시지가 뜹니다.
YDR_CUST / YDR_SALE /YDR_EXCP
세개는 임시테이블로 생성한 것입니다.
AND A.mem_Name NOT IN (SELECT * FROM YDR_EXCP)
이부분을 추가하니까 이렇게 나오는데요
뭐가 잘못된걸까요?
알려주세요1!
AND A.mem_Name NOT IN (SELECT * FROM YDR_EXCP)
을 수정하세요.
AND NOT Exists (SELECT 'x' FROM YDR_EXCP where A.mem_Name = YDR_EXCP.mem_Name)