2010-11-20 9 views
-2

私は結果が1であれば、メインCASE式は、あります。このSQL ServerのCASE式

ようなクエリをしましたし、私は他のcase文、および他、以下のSELECT文を実行する必要があります。このクエリは機能しません。誰もがここで私

DECLARE @sportCodeID INT; 
SELECT @sportCodeID = sport_code_id FROM jobs dlj where dlj.id = id; 

(CASE WHEN (SELECT sport_code_id FROM jobs dlj WHERE dlj.id = id) = 1 THEN 

CASE WHEN dl.action = 'C' THEN 'Cricker' 

WHEN dl.action = 'F' THEN 'FOOTBALL' 

) 
(ELSE 
(SELECT sport_codes from action_codes ac WHERE ac.id = @sportCodeID) 

)END [Action] 
+0

「作業していない」とはどういう意味ですか?すでに2つの構文エラーがありますが、何を達成しようとしていますか?あなたは単に "クリケット"または "サッカー"のテキストを選択したいですか? – BeemerGuy

+0

これは、質問の編集時にコードボタンを使用してコードを書式設定すると役立ちます。 – BeemerGuy

+2

ご質問には関連タグのみを使用してください。これはC#とは関係ありません。 –

答えて

1

を助けることができるあなたは疑問を持っているし続ける場合のAdventureWorks databseを用いた場合ステートメントに、以下の例を参照してくださいあなたの目標

declare @jobs table(id int identity (1,1), sport_code_Id int) 
insert @jobs (sport_code_Id) 
Select 1 UNION ALL 
Select 2 UNION ALL 
Select 3 UNION ALL 
Select 4 

declare @action_codes table (id int identity(1,1), sport_codes char(1)) 
Insert @action_codes (sport_codes) 
Select '1' UNION ALL 
Select 'F' UNION ALL 
Select 'C' UNION ALL 
Select '4' 

Select * from @action_codes 
Select * from @jobs 

DECLARE @sportCodeID INT; 
SELECT @sportCodeID = sport_code_id FROM @jobs dlj where dlj.id = 1; 
select @sportCodeID 
SELECT 
    CASE sport_codes 
     WHEN 'F' THEN 'Football' 
     WHEN 'C' THEN 'Criket' 
     ELSE sport_codes 
    END 
FROM @action_codes 
WHERE id = @sportCodeID 

を達成することができるいくつかのコードです。

USE AdventureWorks2008; 
GO 
SELECT ProductNumber, Category = 
     CASE ProductLine 
     WHEN 'R' THEN 'Road' 
     WHEN 'M' THEN 'Mountain' 
     WHEN 'T' THEN 'Touring' 
     WHEN 'S' THEN 'Other sale items' 
     ELSE 'Not for sale' 
     END, 
    Name 
FROM Production.Product 
ORDER BY ProductNumber; 
GO