Có cách nào chúng ta có thể chỉ định các giá trị trong một tuyên bố trường hợp không? Các tuyên bố dưới đây không thực hiện bởi vì nó nghĩ rằng 53,57,82,83 vv là cột .. Có một công việc xung quanh .. tôi googled lên nhưng không tìm thấy gì mà nói rằng bạn không thể sử dụng trong biểu hiện trường hợp-khi ..TSQL - Case - Giá trị trong?
select
x =
case
when xvalue in ([52],[57],[82],[83])
then "xvalue"
when yvalue in ([01],[02],[11])
then "yvalue"
else
'NULL'
end
from xyztable
Đối với phiên bản SQL Server nào, hoặc là điều này cho Sybase? –
Lý do tôi sử dụng dấu ngoặc đơn là .. khi sử dụng cùng IN trong bảng tổng hợp .. MSDN cho tôi biết bằng cách sử dụng như thế này .. SELECT 'AverageCost' AS Cost_Sorted_By_Production_Days, [0], [1], [2], [3], [4] TỪ (SELECT DaysToManufacture, StandardCost TỪ Production.Product) AS SourceTable PIVOT ( AVG (StandardCost) FOR DaysToManufacture IN ([0], [1], [2], [3], [4]) ) AS PivotTable; –
Đây là loại cũ nhưng ... bạn đang sử dụng dấu ngoặc vuông với bảng tổng hợp vì bạn đang đánh dấu hiệu quả các cột với câu lệnh IN – Pork