2012-11-26 90 views
0
SELECT _cotM.Customer_ID, _cotM.Material_ID 
FROM dbo.COT_Monthly AS cot 
INNER JOIN 
dbo.vw_Dim_Material AS matr ON cot.Material_ID = matr.Material_ID 
GROUP BY _cotM.Customer_ID, _cotM.Material_ID 

我有SQL代碼,並且具有導致25855行通配符不起作用?

但是當我由結果添加where matr.Brand <> '%VIT%'上組仍然25855行。

但是當我刪除通配符where matr.Brand <> 'VIT'結果變成25089.

我徘徊爲什麼是這樣的結果?

是我錯了,使用通配符或其他?

感謝您的回答。

+1

你嘗試在那裏matr.Brand NOT LIKE「%VIT% 「? – Jon

回答

3

通配符只能與LIKE clauses工作,所以更改條件:

WHERE matr.Brand NOT LIKE '%VIT%' 
0

馬特說使用where matr.Brand not like '%VIT%',瞭解更多關於wildcard

+0

-1。 '[^ VIT]'不匹配'而不是'VIT'「。閱讀文檔:http://msdn.microsoft.com/en-us/library/ms179859.aspx –

+0

你爲什麼這麼認爲?對不起,但你錯了。 '[^ VIT]'只匹配一個字符。 –

+0

@MattBall:我的錯誤,得到了你的point.i將編輯我的答案 – Buzz