2017-06-29 17 views
-1

こんにちは私はCASEを使用する必要があるクエリに取り組んでいます。私は間違いを続けているし、理由を理解することができません。以下は私が試みたものです。T-SQLのSQL Server CASE文

SELECT 

    CASE 

    when LineItem like '%Apple%' THEN ProductType = 'Apple' 
    when LineItem like '%Orange' THEN ProductType = 'Orange' 
    when LineItem like '%Strawberry' THEN ProductType = 'Red' 
    when ProductType like 'Yellow' THEN ProductType 
    else ProductType = 'White' 

    end as ProductType 

FROM Fruits 

「=」記号が表示されます。 T-SQLのWHENキーワードの後に​​2つの異なる列を持つことはできませんか?

+0

が ''でProductType =を取り除く...このようにそれを試してみてくださいません。 'ELSE 'White'を使ってください。 – BJones

+3

' ProductType 'のような' Yellow 'は '=' –

答えて

1

のための必要はありません

SELECT 
    ProductType = CASE 
         WHEN f.LineItem like '%Apple%' THEN 'Apple' 
         WHEN f.LineItem like '%Orange' THEN 'Orange' 
         WHEN f.LineItem like '%Strawberry' THEN 'Red' 
         WHEN f.ProductType like 'Yellow' THEN f.ProductType 
         ELSE 'White' 
        END 
FROM 
    dbo.Fruits f; 
3

構文エラーです。 Then ProductType = '...'

SELECT 
    CASE 
    when LineItem like '%Apple%' THEN 'Apple' 
    when LineItem like '%Orange' THEN 'Orange' 
    when LineItem like '%Strawberry' THEN 'Red' 
    when ProductType like 'Yellow' THEN ProductType 
    else 'White' 
    end as ProductType 
FROM Fruits