从表一列记录合并成成字符串 ,作为主表的一个字段 for xml path 40hendry_huang]

发布时间:2016-12-9 23:28:03 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"从表一列记录合并成成字符串 ,作为主表的一个字段 for xml path 40hendry_huang]",主要涉及到从表一列记录合并成成字符串 ,作为主表的一个字段 for xml path 40hendry_huang]方面的内容,对于从表一列记录合并成成字符串 ,作为主表的一个字段 for xml path 40hendry_huang]感兴趣的同学可以参考一下。

订单 ID         订单号      ......... 1          20130211 2          20130222 购物车 ID      ORDERID     商品名称 1          1           香蕉 2          1           苹果 3          1           草莓 4          2           芒果 5          2           凤梨 效果: ID         订单号       商品列表 1          20130211    香蕉,苹果,草莓 2          20130222    芒果,凤梨 用 FOX XML PATH : SELECT     ID, 订单号,  stuff                           ((SELECT     ',' + 商品名称                               FROM       商品列表  [怎么写条件?]                                   FOR xml path('')), 1, 1, '') AS 商品列表 FROM         订单 请老师们指点一下,谢谢  

条件当然是你的订单上的产品了,你这个设计的有问题吧,没有详单吗

SELECT  ID ,         订单号 ,         STUFF(( SELECT  ',' + 商品名称                 FROM    商品列表                 WHERE   订单.id = 商品列表.orderid               FOR                 XML PATH('')               ), 1, 1, '') AS 商品列表 FROM    订单试试

被同事叫了下木看清

引用 2 楼 DBA_Huangzj 的回复:SQL code?123456789SELECT  ID ,        订单号 ,        STUFF(( SELECT  ',' + 商品名称                FROM    商品列表                WHERE   订单.id = 商品列表.orderid              FOR                XML P…… 商品列表列 都是 NULL

引用 3 楼 szm341 的回复:被同事叫了下木看清

你自己把表名搞错了---------------------------------------------------------------- -- Author  :DBA_Huangzj(發糞塗牆) -- Date    :2013-02-26 16:02:13 -- Version: --      Microsoft SQL Server 2008 R2 (SP1) - 10.50.2500.0 (X64)  -- Jun 17 2011 00:54:03  -- Copyright (c) Microsoft Corporation -- Enterprise Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1, v.721) -- ---------------------------------------------------------------- --> 测试数据:[订单] if object_id('[订单]') is not null drop table [订单] go  create table [订单]([ID] int,[订单号] datetime) insert [订单] select 1,'20130211' union all select 2,'20130222' --> 测试数据:[购物车] if object_id('[购物车]') is not null drop table [购物车] go  create table [购物车]([ID] int,[ORDERID] int,[商品名称] varchar(4)) insert [购物车] select 1,1,'香蕉' union all select 2,1,'苹果' union all select 3,1,'草莓' union all select 4,2,'芒果' union all select 5,2,'凤梨' --------------开始查询-------------------------- SELECT  ID ,          订单号 ,          STUFF(( SELECT  ',' + 商品名称                  FROM    [购物车]                  WHERE   订单.id = [购物车].orderid                FOR                 XML PATH('')                ), 1, 1, '') AS 商品列表  FROM    订单 ----------------结果---------------------------- /*  ID          订单号                     商品列表 ----------- ----------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 1           2013-02-11 00:00:00.000 香蕉,苹果,草莓 2           2013-02-22 00:00:00.000 芒果,凤梨 (2 行受影响) */

引用 6 楼 DBA_Huangzj 的回复:你自己把表名搞错了SQL code?12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849------------------------------------------------------------------ Author  :DBA_…… 引用 6 楼 DBA_Huangzj 的回复:你自己把表名搞错了SQL code?12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849------------------------------------------------------------------ Author  :DBA_…… 我这边 检查语法 提示 :“(”附近的 WHERE 子句出错。 无法分析查询文本。 是不是我的表有问题?

你是sqlserver2000吗?

2000没有XML

是我弄错了,连得本地数据库,从表里没有数据.... 谢谢楼上各位.

上一篇:SQL Relay 0.50 发布,数据库负载均衡器??怎么用? 40whw6263989]
下一篇:SQL2000能做数据仓库吗?能不能推荐一下这方面的资料 40sjcmhx8w8e]

相关文章

相关评论