2017-11-08 14 views
-2

以下のクエリを実行しようとしています。SQL multipleステートメント

SELECT 
ABL.Address1 AS BillingAddress1, 
ABL.Address2 AS BillingAddress2, 
ABL.Address3 AS BillingAddress3, 
ABL.Address4 AS BillingAddress4, 
ABL.UnitNumber AS BillingUnitNumber, 
ABL.City AS BillingCity, 
ABL.ProvinceOrState AS BillingProvinceOrState, 
ABL.PostalCode AS BillingPostalCode, 
CASE ISNULL (ABL.CountryCode,'') 
           WHEN 'CAN' THEN 'CANADA' 
           WHEN 'CA' THEN 'CANADA' 
           WHEN 'US' THEN 'USA'  
           WHEN '' THEN 
CASE WHEN CHARINDEX(RTRIM(ABL.ProvinceOrState),'BC,NWT,SK,MB,ON,QC,NB,NS,PEI,NF')>0                    THEN 'CANADA'                 ELSE NULL                    END 
ELSE ABL.CountryCode     
END AS BillingCountryCode 

ただし、以下のエラーが発生します。

メッセージレベル102、レベル15、状態1、行85 ';'の近くの構文が正しくありません。

質問に間違いがありません。

+0

が起こったかもしれない、あなたはSSMS' 'でそれを自分を試してみましたか?エラーメッセージをクリックすると、 'SSMS'は最後から3行目に無効な文字を簡単に表示します! –

答えて

2

あなたは、エンコードされた>代わりに>を持っている:

SELECT 
ABL.Address1 AS BillingAddress1, 
ABL.Address2 AS BillingAddress2, 
ABL.Address3 AS BillingAddress3, 
ABL.Address4 AS BillingAddress4, 
ABL.UnitNumber AS BillingUnitNumber, 
ABL.City AS BillingCity, 
ABL.ProvinceOrState AS BillingProvinceOrState, 
ABL.PostalCode AS BillingPostalCode, 
CASE ISNULL (ABL.CountryCode,'') 
           WHEN 'CAN' THEN 'CANADA' 
           WHEN 'CA' THEN 'CANADA' 
           WHEN 'US' THEN 'USA'  
           WHEN '' THEN 
CASE WHEN CHARINDEX(RTRIM(ABL.ProvinceOrState),'BC,NWT,SK,MB,ON,QC,NB,NS,PEI,NF') > 0 
THEN 'CANADA' 
ELSE NULL 
END 
ELSE ABL.CountryCode     
END AS BillingCountryCode 
+0

ありがとうございます。私はまた、以下の同じクエリでエラーが発生しています。 – unnikrishnan

+0

どのようなエラーがありますか?同じ? – CristiC

+0

ステートメントに 'THEN'セクションがありません:) –

1

私は、テキスト& GTがある見ます。 "& GT;" 私はただの文字列を置き換える代わりに - >

SELECT 
ABL.Address1 AS BillingAddress1, 
ABL.Address2 AS BillingAddress2, 
ABL.Address3 AS BillingAddress3, 
ABL.Address4 AS BillingAddress4, 
ABL.UnitNumber AS BillingUnitNumber, 
ABL.City AS BillingCity, 
ABL.ProvinceOrState AS BillingProvinceOrState, 
ABL.PostalCode AS BillingPostalCode, 
CASE ISNULL (ABL.CountryCode,'') 
           WHEN 'CAN' THEN 'CANADA' 
           WHEN 'CA' THEN 'CANADA' 
           WHEN 'US' THEN 'USA'  
           WHEN '' THEN 
CASE WHEN CHARINDEX(RTRIM(ABL.ProvinceOrState),'BC,NWT,SK,MB,ON,QC,NB,NS,PEI,NF') > 0                    THEN 'CANADA'                 ELSE NULL                    END 
ELSE ABL.CountryCode     
END AS BillingCountryCode 

のcase文でこれはお試しくださいあなたは、コードのフォームをコピーしたとき>シンボル

でこれは、他のウィンドウやテキストエディタ