2010-11-20 29 views
-2

Başka seçin deyimi aşağıda o zaman diğer vaka ifadeleri çalıştırmak gerekir, sonuç 1 ise buSQL Server DURUM İfade

gibi bir sorgu, bir ana DURUM ifadesi yoktur ettik ve. Bu sorgu çalışmıyor. Herkes bana

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

"Çalışmıyor" ile ne demek istiyorsunuz? Zaten iki sözdizimi hatası görüyorum, ancak ne yapmaya çalışıyorsun? Sadece "Kriket" veya "Futbol" metnini seçmek ister misiniz? – BeemerGuy

+0

ve sorunuzu düzenlerken kodunuzu kullanarak kodunuzu biçimlendirirseniz yardımcı olur. – BeemerGuy

+2

lütfen, sorularınız için yalnızca alakalı etiketleri kullanın. Bunun C# ile ilgisi yok. –

cevap

1

yardımcı olabilir Burada soruları AdventureWorks databse kullanarak bir vaka ekstresinde aşağıdaki örneğe bakınız yaşamaya devam ederseniz Hedefinizi

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 

başarmak bazı kodudur.

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