【发布时间】:2018-12-28 03:10:18
【问题描述】:
我的 as 语句应该是“statementmessage”,它是标题行,并且消息 1 和消息 2 应该通过连接在单行中。 如果有任何疑问让我知道,请帮助我。
WITH with_stmt_bills as (
SELECT
BarStatement_Accounts_AcctMsgText.TextID,
BarStatement_Accounts_AcctMsgText.TextSeqID,
CASE
WHEN BarStatement_Accounts_AcctMsgText.TextSeqID=0
THEN BarStatement_Accounts_AcctMsgText.TextLine
END AS Message1,
CASE
WHEN BarStatement_Accounts_AcctMsgText.TextSeqID=1
THEN BarStatement_Accounts_AcctMsgText.TextLine
ELSE ''
END AS Message2,
CONCAT(ISNULL('Message1',''),' ',ISNULL('Message2','')) as StatementMessage,
-----------使用语句 2 --------- -------
full_stmt_bills as (
(SELECT top 1 Message1 FROM with_stmt_bills
WHERE VisitID = internal_table.VisitID
AND with_stmt_bills.LedBillDateID = internal_table.LedBillDateID
ORDER by TextID desc) as Message1,
(SELECT top 1 Message2 FROM with_stmt_bills
WHERE VisitID = internal_table.VisitID
AND with_stmt_bills.LedBillDateID = internal_table.LedBillDateID
ORDER by TextID desc) as Message2,
在这里使用这个 concat 在列中显示输出为 message1 消息 2,我实际上需要输出存储在消息 1 和消息 2 中的数据
(select CONCAT(ISNULL('Message1',''),' ',ISNULL('Message2',''))) as StatementMessage,
【问题讨论】:
-
您希望它是单行中的两列还是单列中的两行?
-
现在我们有一个名为 'statement message' 的列名,但是当我运行查询时它只显示一半消息,因为消息 1 和 2 是根据 textseqID 分类的
-
这应该回答我的问题吗?那是什么意思?在这里提供帮助应该非常简单,但是发布的信息还不够。
-
CASE WHEN BarStatement_Accounts_AcctMsgText.TextSeqID=0 THEN BarStatement_Accounts_AcctMsgText.TextLine END AS Message1, CASE WHEN BarStatement_Accounts_AcctMsgText.TextSeqID=1 THEN BarStatement_Accounts_AcctMsgText.TextLine ELSE '' END AS Message2,
-
请不要将代码放入 cmets。这是您问题的一部分,应该在问题中发布。
标签: sql sql-server sql-server-2008 tsql ssms