Sql server 如何在SQLServer2008中获取一行的计数
但我想要的是这个结果:Sql server 如何在SQLServer2008中获取一行的计数,sql-server,sql-server-2008,Sql Server,Sql Server 2008,但我想要的是这个结果: RN Inq_Inquiry_No Length20 Length40 ------------------------------------------------- 1 BOM/CRM/00047 1 2 BOM/CRM/00047 1 我使用RN=1,然后我得到的结果是不正确的: RN Inq_Inquiry_No Length20 Length40 --------------------
RN Inq_Inquiry_No Length20 Length40
-------------------------------------------------
1 BOM/CRM/00047 1
2 BOM/CRM/00047 1
我使用RN=1,然后我得到的结果是不正确的:
RN Inq_Inquiry_No Length20 Length40
-------------------------------------------------
1 BOM/CRM/00047 1 1
请帮助我从分组中删除
Inq\u ConLengthId
,并使用条件聚合:
选择
行(按A.Inq\u Inquiry\u Kid ORDER按A.Inq\u InquiryDate划分)作为RN,
A.Inq\U查询号:,
计数(d.Inq_ConLengthId)
计数(大小写)
当d.Inq_ConLengthId=113时
然后1)作为长度20,
计数(大小写)
当d.Inq_ConLengthId 113
然后1)作为长度40
从…起
Inquiry.tbl_SE_Inquiry条目A
左连接
Inquiry.tbl_SE_container在A.Inq_Inquiry_Kid=d.Inq_InquiryId上键入d
哪里
a、 Inq\U查询号='BOM/CRM/00047'
分组
A.Inq\U查询不,A.Inq\U查询孩子,A.Inq\U查询日期
不,你没有。您有一个语法错误。也许你想注释掉第一个计数(d.Inq\u ConLengthId)
?当然,这会在您的结果集中生成一列,您没有将其包含在示例输出中,也没有为该列指定名称。更重要的是,您将外部连接到“d”,这样当没有匹配的行时,您将对结果集的内容感到惊讶。@@Charlieface…它正在工作…您解决了一个简单的方法…当时我正在考虑…一些内部查询…但它会使查询变慢。。。。。
RN Inq_Inquiry_No Length20 Length40
-------------------------------------------------
1 BOM/CRM/00047 1 1
RN Inq_Inquiry_No Length20 Length40
-------------------------------------------------
1 BOM/CRM/00047 1