0

我有一个表中的结果集,我必须在其中拆分特定值并根据条件显示在另一列(用户定义)中。

//询问

    SELECT wtcCommentId, wtcTransactionId, wtcTaskId,  wtcUserLogin,
     wtcCommentDateTime, wtcCommentText
    FROM   dbo.tblWorkflowTransactionComments (NOLOCK)
    WHERE  wtcTransactionId = 141248

上述查询的输出将是大约 10 行。

在上面的查询中,如果结果为 0,我需要分隔wtcCommentText列。因此,如果为 0,则该值应显示在单独的列(transcommenttext)中,而对于其他列,则应显示在同一列()中。这样我就可以根据.wtcTaskIdwtcTaskIdwtcCommenttextwtcCommentTexttaskId

我怎样才能做到这一点?

4

1 回答 1

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

不过,这种简单的重新格式化似乎最好在前端或报告生成器中完成。

于 2013-07-16T06:45:43.010 回答