3 ŞUBAT 2009, Salı
Yapmak için en iyi yolu SQL Server case deyimi mantık iç içe
Şu anda sütunları döndürülen bir kaç koşulları çok bağlı olarak hesaplanacak gereken bir SQL Sorgusu yazıyorum.
Şu anda iç içe geçmiş durumda deyimleri, ama onun dağınık kullanıyorum. (Daha organize ve/veya okunabilir) daha iyi bir yolu var mı?
(Microsoft SQL Server 2005 kullanıyorum)
< / ^ hr .
Basitleştirilmiş bir örnek:
SELECT
col1,
col2,
col3,
CASE
WHEN condition
THEN
CASE
WHEN condition1
THEN
CASE
WHEN condition2
THEN calculation1
ELSE calculation2
END
ELSE
CASE
WHEN condition2
THEN calculation3
ELSE calculation4
END
END
ELSE
CASE
WHEN condition1
THEN
CASE
WHEN condition2
THEN calculation5
ELSE calculation6
END
ELSE
CASE
WHEN condition2
THEN calculation7
ELSE calculation8
END
END
END AS 'calculatedcol1',
col4,
col5 -- etc
FROM table
CEVAP
3 ŞUBAT 2009, Salı
BİRLEŞİM hile, örneğin, bir çeşit deneyebilirsiniz:
SELECT COALESCE( CASE WHEN condition1 THEN calculation1 ELSE NULL END, CASE WHEN condition2 THEN calculation2 ELSE NULL END, etc... )
Bunu Paylaş:
Otomatik oluşturmak SQL Server tablo i...
C programı bir kaza yapmak için en kol...
HTML iç içe geçmiş bir liste yapmak iç...
SQL Server sonuçları ilerlemek için en...
WPF dize bir seçilebilir yapmak için b...