2016-04-08 29 views
0

我們有一個查找零件類別的存儲過程。他們總是從歷史開始,但是我們現在有一些部分現在開始S,並沒有出現在數據中。查找零件類別的存儲過程

我想查找M和S,所以在下面的過程中,我該如何改變它以查找Where Left(CS_REF,1)='M'?

我不是一個程序員...

ALTER PROCEDURE [dbo].[CatTypes] AS 
SELECT LEFT(CS_REF,3) AS Cat 
FROM a_cstwh 
WHERE LEFT(CS_REF,1) = 'M' 
GROUP BY LEFT(CS_REF,3) 
ORDER BY LEFT(CS_REF,3) 
OPTION (HASH GROUP) 
+0

'IN( 'M', 'S')' –

+0

爲什麼GROUP BY在不使用聚合函數時? – jarlh

+0

我把它完全按照你所擁有的那樣,其左,(CS_REF,1)= IN('M','S') – Mark2109

回答

0

試試這個

SELECT LEFT(CS_REF,3) AS Cat 
FROM a_cstwh 
WHERE LEFT(CS_REF,1) IN ('M', 'S') 
GROUP BY LEFT(CS_REF,3) 
ORDER BY LEFT(CS_REF,3) 
OPTION (HASH GROUP) 

(OR)

SELECT LEFT(CS_REF,3) AS Cat 
FROM a_cstwh 
WHERE LEFT(CS_REF,1) = 'M' OR LEFT(CS_REF,1) = 'S' 
GROUP BY LEFT(CS_REF,3) 
ORDER BY LEFT(CS_REF,3) 
OPTION (HASH GROUP)