2013-08-20 118 views
-2

我一直使用MySQL Where In來過濾單個字段的多個值。我正在尋找SQL Server的等價物。當我在SS上設置它時,它會將每個項目視爲表格中的字段而不是我的字段中的記錄。有誰知道相同的?謝謝! 的MySQL:在SS使用類似格式時sql server相當於mysql,其中

SELECT quote_id,entity_id FROM customer.customer_id4 
    WHERE 
    quote_id IN ("00033658.0","00033361.0","00032971.0") 

錯誤:

Invalid column name '00033658.0' 
    Invalid column name '00033361.0' 
    Invalid column name '00032971.0' 
+0

'''用作對象分隔符而不是字符串分隔符。解決方案:'WHERE quote_id IN('00033658.0',...' –

+0

如果這些是字符串,那麼你應該使用單引號圍繞值 - ''00033658.0','00033361.0','00032971.0''。雙引號是解釋那些作爲列名 – Taryn

+0

感謝大家的幫助,我在Transact-SQL中處理得並不多,幸運的是,MySQL並不那麼敏感。 – vizyourdata

回答

0

"在SQL服務器被用來分隔字段名。您需要改爲使用',例如

... quote_id IN ('00033658.0', '00033361.0', etc...) 
       ^--  ^--- note the different quotes 
0

我認爲你有一個單引號(')來替換雙引號(「)

SELECT quote_id,entity_id FROM customer.customer_id4 
WHERE 
quote_id IN ('00033658.0','00033361.0','00032971.0')