我有一个来自表的结果集,在这个表中,我必须根据条件拆分一个特定值并显示在另一列(用户定义的)中。
//查询
SELECT wtcCommentId, wtcTransactionId, wtcTaskId, wtcUserLogin,
wtcCommentDateTime, wtcCommentText
FROM dbo.tblWorkflowTransactionComments (NOLOCK)
WHERE wtcTransactionId = 141248上述查询的输出将是大约10行。
在上面的查询中,如果结果的wtcTaskId为0,我需要分隔wtcCommentText列。因此,如果wtcTaskId为0,wtcCommenttext值应该显示在单独的列(Transcommenttext)中,而对于其他值,它应该显示在同一列(wtcCommentText)中。这样我就可以根据taskId对评论进行拆分。
我如何才能做到这一点?
发布于 2013-07-16 14:45:43
我不确定这是否真的有意义,但好吧,我可以开怀大笑了:
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不过,这看起来像是在前端或报告生成器中更好地完成的那种琐碎的重新格式化。
https://stackoverflow.com/questions/17669705
复制相似问题