我从表中得到一个结果集,我必须根据条件拆分特定值并显示在另一列(用户定义)中。
//查询
SELECT wtcCommentId, wtcTransactionId, wtcTaskId, wtcUserLogin,
wtcCommentDateTime, wtcCommentText
FROM dbo.tblWorkflowTransactionComments (NOLOCK)
WHERE wtcTransactionId = 141248
上述查询的输出大约为10行。
在上面的查询中,如果该结果的wtcCommentText
为0,我需要将wtcTaskId
列分开。因此,如果wtcTaskId
为0,则wtcCommenttext
值应为0显示在单独的列(transcommenttext)中,而对于其他列,它应显示在同一列(wtcCommentText
)中。这样我就可以根据taskId
。
我怎样才能做到这一点?
答案 0 :(得分:4)
我不确定这是否真的有意义,但是好吧,我是一个笑的游戏:
SELECT wtcCommentId, wtcTransactionId, wtcTaskId, wtcUserLogin,
wtcCommentDateTime,
CASE WHEN wtcTaskId!=0 THEN wtcCommentText END as wtcCommentText,
CASE WHEN wtcTaskId=0 THEN wtcCommentText END as transcommenttext
FROM dbo.tblWorkflowTransactionComments (NOLOCK)
WHERE wtcTransactionId = 141248
这似乎是一种微不足道的重新格式化,但最好在前端或报告生成器中完成。