또 다른 질문에이 정확한 상황이 있는지 확신 할 수 없으므로 중복되는 경우 미안합니다. 반환 위의 쿼리 - 난 내가 (예를 들어) 다음 쿼리 내가 tblLookup에서 CategoryCode 및 tblStock의 범주 코드 사이의 부분 일치 할 필요가SELECT IN 쿼리와 부분 일치시키는 방법은 무엇입니까?
SELECT DISTINCT COUNT(StockID)
FROM tblStock
WHERE CategoryCode IN (
SELECT CategoryCode
FROM tblLookup
WHERE CategoryID = 'EG')
을 사용하고있는 분류 시스템에 문제가 EG와 같은 전체 일치는 범주 코드가 반환 된 것처럼 ETC 및 EGT를 가지지 만 범주가 ETCE이면 이것이 발견되지 않습니다. 반환 된 CategoryCodes이 ETC 및 EGT하지만도 필요 와일드 카드 일치가 tblStock에서 부분 매칭을 위해 사용 될 수
SELECT CategoryCode
FROM tblLookup
WHERE CategoryID = 'EG'
: 결과에서 반환 있도록
어떻게 쿼리를 수정할 수 있습니다.
@Tuomas : SQL Server''에서'IN'은'JOIN'보다 효율적입니다 : http://explainextended.com/2009/ 06/16/in-vs-join-vs-exists/ – Quassnoi
@Quassnoi : 음 ... 좋은 링크, 고마워! –