が、私はこのように実行することになっての問合せがある場合 -SQL Server 2008の - ケース/ SELECT句で文
If(var = xyz) SELECT col1, col2 ELSE IF(var = zyx) SELECT col2, col3 ELSE SELECT col7,col8 FROM . . .
をどのように私は、各句のために別々のクエリを記述することなく、T-SQLでこれを達成できますか?現在、私はちょうど値に応じて異なる列を選択するために、冗長なコードだけたくさんだこと
IF (var = xyz) { Query1 } ELSE IF (var = zyx) { Query2 } ELSE { Query3 }
として、それを実行していますよ。 代替手段はありますか?条件式を使用し、
USE AdventureWorks;
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
+1非常に良好な観測 –