2014-05-30 3 views
0

기본적으로 다음 형식의 레코드 목록이 있습니다.기준과 일치하지 않는 셀 1 개를 기준으로 레코드 삭제

StockCode  BomReference 

2112003   5113016 
2112003   5109200 
2112113   5112113 
2112113   5112129 
2112113   5112127 
2112113   5113014 
2112113   5113039 
2112113   5113014TC 
2112120   5112120 

나는 BomReference 그때는 BomReference과 관련된 StockCode를 반환하지 않습니다 "511"를 시작하지 않는 경우, 있도록이 정보를 조회하고 싶습니다.

위 레코드에서 쿼리 결과는 다음과 같습니다. 당신이 원하는 것처럼

StockCode  BomReference 

2112113   5112113 
2112113   5112129 
2112113   5112127 
2112113   5113014 
2112113   5113039 
2112113   5113014TC 
2112120   5112120 

답변

1

그것은 소리 : 를 모든 레코드를 '511'로 시작하지 않는 하나 이상의 BomReference이있는 StockCode 제외. 하나 이상의 BomReference가 있습니까

StockCodes는 '511 *'달리 :

SELECT DISTINCT StockCode FROM YourTable WHERE BomReference not like '511*' 

따라서, 전체 쿼리

SELECT StockCode, BomReference 
FROM YourTable 
WHERE StockCode NOT IN (SELECT DISTINCT StockCode 
         FROM YourTable 
         WHERE BomReference NOT LIKE '511*') 
+0

그게 환상적인해야합니다! 당신의 도움을 주셔서 감사합니다. – Chrislaar123

관련 문제