已知:成绩表
Name Course Score
张三 物理 70
张三 化学 80
李四 地理 78
李四 物理 88
王五 物理 67
王五 化学 89求:能够得出以下结果的SQL语句结果一(输出格式):<row name="张三">
<Name>
<Course>物理</Course>
<Score>70</Score>
<Course>化学</Course>
<Score>80</Score>
</Name>
</row>
<row name="李四">
<Name>
<Course>地理</Course>
<Score>78</Score>
<Course>物理</Course>
<Score>88</Score>
</Name>
</row>
<row name="王五">
<Name>
<Course>物理</Course>
<Score>67</Score>
<Course>化学</Course>
<Score>89</Score>
</Name>
</row>结果二:
<row name="张三">
<Name>
<物理>70</物理>
<化学>80</化学>
</Name>
</row>
<row name="李四">
<Name>
<地理>78</地理>
<物理>88</物理>
</Name>
</row>
<row name="王五">
<Name>
<物理>67</物理>
<化学>89</化学>
</Name>
</row>
解决方案 »
- tempdb表里的表, 怎么会自动消失呢?
- 请问如何打开sql server 2000 中的“对象浏览器窗口模板标签”?
- 给表中插入的值变成了问号?
- 我在数据库里插入了错误的数据,现在该怎么撤销啊??
- 有没有这种视图
- DateDiff函数不支持FirstDayofWeek,怎么办?
- sql server连接问题
- 求一个递归汇总的SQL语句
- sql2000server 中设计每个表的时候属性定义中的公式怎么用
- 导入和导出数据功能
- powerbuilder连接数据库时提示dbms is not supported in your current installation
- 数据库函数.怎么update 到表中去
结果1DECLARE @tb TABLE(NAME VARCHAR(20),Course VARCHAR(20),Score INT)INSERT INTO @tb
select '张三','物理', 70 union all
select '张三','化学' ,80 union all
select '李四', '地理', 78 union all
select '李四', '物理' ,88 union all
select '王五', '物理', 67 union all
select '王五', '化学', 89DECLARE @str NVARCHAR(4000)=''
SELECT name+xmlStr+e FROM (
SELECT name='<row NAME='''+NAME+'''><Name>',xmlStr=(SELECT Course,Score FROM @tb WHERE t1.NAME=NAME FOR XML PATH('')),
e='</Name></row>'
FROM @tb t1
GROUP BY t1.NAME
) t
/*
------------------------------------------------------------------------------------------------------------------------
<row NAME='李四'><Name><Course>地理</Course><Score>78</Score><Course>物理</Course><Score>88</Score></Name></row>
<row NAME='王五'><Name><Course>物理</Course><Score>67</Score><Course>化学</Course><Score>89</Score></Name></row>
<row NAME='张三'><Name><Course>物理</Course><Score>70</Score><Course>化学</Course><Score>80</Score></Name></row>(3 行受影响)*/
可是这样不是我需要的格式啊,你输出的结果是三行,我要的是如下格式的:<row name="张三">
<Name>
<Course>物理</Course>
<Score>70</Score>
<Course>化学</Course>
<Score>80</Score>
</Name>
</row>
对对,我现在才发现,应该要在XML里面操作。可问题是我不知道怎么操作,能否提供一个例子给我,或者给我示范下怎么操作?
就是C#..应该是我啥都不懂把。我网上看到的貌似没有发现关于对dataset数据进行新架构设置而输出XML格式的资料。能否提供下