2015-01-27 3 views
0

고객 서비스 쿼리에서 일부 메시지를 선택하려고합니다 .Message 소유자가 ABC이고, 데이터가 ABCDEF 및 메시지와 같습니다. 그리고 메시지가 고객에서 CSservice 또는 CSservice에서 고객으로 전송되는 위치 .SQL 및 OR

어떻게하면됩니까?

SELECT Date, From, To, Data 
FROM Ccustomers WITH (NoLock) 
WHERE MSGowner = 'ABC' AND Data LIKE '%ABCDEF%' AND 
([From] ='Customer' AND [To] = 'CSservice') OR ([From] ='CSservice' AND [To] = 'Customer') 

ORDER by Date 
+0

플러스 1을, 당신은 단지 OR 조건 괄호의 추가 설정이 필요합니다. –

답변

2
SELECT Date, From, To, Data 
FROM Ccustomers WITH (NoLock) 
WHERE MSGowner = 'ABC' 
AND Data LIKE '%ABCDEF%' 
AND 
(
    ([From] = 'Customer' AND [To] = 'CSservice') OR 
    ([From] = 'CSservice' AND [To] = 'Customer') 
) 
ORDER by Date 
+0

고마워요. 사실 나는 메시지를 게시 한 후 이것을 몇 초 동안 알아 냈습니다 :) 아직도 SQL을 배우는 중 :) – Petrik

0

당신의 쿼리는 기본적으로 정확했다. 그러나 or보다 "더 강한"연결 인 and을 고려해야합니다. 원하는 출력을 얻으려면 대괄호를 설정해야합니다.

이 시도 : jergen D로 답변

SELECT Date, [From], [To], Data 
FROM Ccustomers WITH (NoLock) 
WHERE MSGowner = 'ABC' 
AND Data LIKE '%ABCDEF%' 
AND (([From] = 'Customer' AND [To] = 'CSservice') OR ([From] = 'CSservice' AND [To] = 'Customer')) 
ORDER BY Date;