簡體   English   中英

在SQL中根據同一表中的條件將列分開

[英]Separate column based on condition in same table in SQL

我從一個表中獲得一個結果集,在該表中,我必須拆分一個特定值並根據條件顯示在另一列(用戶定義)中。

//查詢

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

上面查詢的輸出將是大約10行。

在上面的查詢我需要將分離wtcCommentText柱如果wtcTaskId該結果為0。因此,如果wtcTaskId為0的wtcCommenttext值應顯示在單獨的列中(transcommenttext)和他人它應該在相同的列中顯示( wtcCommentText )。 這樣我就可以在基於taskId的注釋之間進行拆分。

我該如何實現?

我不確定這是否真的有意義,但是好吧,我在笑。

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

看起來,這種瑣碎的重新格式化可能最好在前端或報告生成器中完成。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM