文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>SQL分割查询结果

SQL分割查询结果

时间:2011-03-14  来源:peter cheng

今儿同学问了我一需求,如下图:

原本表结构:

要得到的结果:

我的SQL语句:

SELECT DISTINCT Name,code,p.Date
FROM Person
OUTER APPLY(
SELECT
JDate
= STUFF(REPLACE(REPLACE(
(
SELECT DISTINCT SUBSTRING(CONVERT(VARCHAR(10),Date,111),9, 2) AS date1
FROM Person
WHERE code='021'
FOR XML AUTO
),
'<Person date1="', '|'), '"/>', ''), 1, 1, '')
)p
WHERE code='021'
注:
  STUFF
  删除指定长度的字符,并在指定的起点处插入另一组字符。

    语法:STUFF ( character_expression , start , length ,character_expression )

 FOR XML AUTO

  FOR XML子句的AUTO模式:返回数据表为起表名的元素,每一列的值返回为属性; OUTER APPLY
 CROSS APPLY 仅返回外部表中通过表值函数生成结果集的行。
 OUTER APPLY 既返回生成结果集的行,也返回不生成结果集的行,其中表值函数生成的列中的值为 NULL。


我这种写法好像复杂了点,你可以先写个函数,有更优的解决方案欢迎指点,谢谢!
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载