【问题标题】:sql server substring querysql server 子字符串查询
【发布时间】:2011-03-26 08:34:17
【问题描述】:

我有以下 sql 查询

select tt.id,substring((select ','+cn.DocumentTitle from ContractNewDocs cn,tblContract t where t.JobId = 8 AND t.Id = cn.ContractID order by cn.ContractID for xml path('')),2,200) as csv
FROM  tblContract tt,ContractNewDocs cn
where tt.JobId = 8 AND tt.Id = cn.ContractID
group by tt.Id

我得到以下结果

id     cvs
4      asss,cdddd,aaaaaaaaaaa,bbbbbbbb,cccccccccc
6      asss,cdddd,aaaaaaaaaaa,bbbbbbbb,cccccccccc

但我需要的结果是

  id     cvs
  4      asss,cdddd
  6      aaaaaaaaaaa,bbbbbbbb,cccccccccc

我哪里弄错了?谁能帮我解决这个问题?

【问题讨论】:

  • 您能否也证明您正在运行此查询的原始数据?

标签: sql-server substring


【解决方案1】:
select tt.id,substring((
    select ','+cn.DocumentTitle
    from ContractNewDocs cn
    where tt.Id = cn.ContractID
    order by cn.ContractID for xml path('')),2,200) as csv
FROM  tblContract tt
inner join ContractNewDocs cn on tt.Id = cn.ContractID
where tt.JobId = 8
group by tt.Id

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-21
    • 2011-12-05
    • 1970-01-01
    • 2016-05-18
    • 2021-04-14
    • 2018-12-04
    • 1970-01-01
    相关资源
    最近更新 更多