有没有办法使用CASE语句在select语句中显示某些列?使用case语句显示select语句中的某些列
目前我使用下面的SQL做到这一点
BEGIN
IF(@ISUSERROLE = 1)
SELECT
t PONumber = [RAH_PONumber]
,RAType = rt.[RAT_Type]
,ChargeableAmount = [RAH_ChargeableAmount]
FROM [T_RA_Header] rh
INNER JOIN dbo.T_RA_Type rt ON rt.RAT_ID = rh.[RAH_RAT_ID]
INNER JOIN dbo.T_RA_Status rs ON rs.RAS_ID = rh.[RAH_RAS_ID]
WHERE
rh.RAH_RAI_ID = @RAI_ID
ELSE IF (@ISUSERROLE = 2)
SELECT
PONumber = [RAH_PONumber]
,RANumber = [RAH_RANumber]
,RAType = rt.[RAT_Type]
,RAStatus = rs.RAS_Status
,RAUploadedBy = [RAH_UploadedByUserName]
,UploadedOn = [RAH_UploadedOn]
,ChargeableAmount = [RAH_ChargeableAmount]
FROM [T_RA_Header] rh
INNER JOIN dbo.T_RA_Type rt
ON rt.RAT_ID = rh.[RAH_RAT_ID]
INNER JOIN dbo.T_RA_Status rs
ON rs.RAS_ID = rh.[RAH_RAS_ID]
WHERE
rh.RAH_RAI_ID = @RAI_ID
END
从这个是否有可能使用CASE语句?或者是我所做的唯一方法
标签您与您正在使用的数据库的问题(这大概是SQL服务器)。 –