咨询一对多查询的sql语句

jielei 2016-01-21 12:55:13


...全文
233 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
jielei 2016-01-21
  • 打赏
  • 举报
回复
[quote=引用 5 楼 kongwei521 的回复:] SELECT DISTINCT a.学号,a.姓名,a.性别, 科目= stuff((SELECT DISTINCT '/'+ 科目 FROM UserInoDetails WHERE 学号 = a.学号 FOR xml path ('') ), 1, 1, '' ) from UserInfo a INNER JOIN UserInoDetails b on a.学号=b.学号 第 4 行: 'xml' 附近有语法错误。
蝶恋花雨 2016-01-21
  • 打赏
  • 举报
回复
DROP TABLE [dbo].[UserInfo]
GO
CREATE TABLE [dbo].[UserInfo] (
[学号] varchar(10) NOT NULL ,
[姓名] varchar(10) NULL ,
[性别] char(5) NULL 
)


GO
-- ----------------------------
-- Records of UserInfo
-- ----------------------------
INSERT INTO [dbo].[UserInfo] ([学号], [姓名], [性别]) VALUES (N'001', N'张三', N'男   ')
GO
GO
INSERT INTO [dbo].[UserInfo] ([学号], [姓名], [性别]) VALUES (N'002', N'李四', N'女   ')
GO
GO
DROP TABLE [dbo].[UserInoDetails]
GO
CREATE TABLE [dbo].[UserInoDetails] (
[学号] varchar(10) NOT NULL ,
[科目] varchar(50) NULL 
)


GO

-- ----------------------------
-- Records of UserInoDetails
-- ----------------------------
INSERT INTO [dbo].[UserInoDetails] ([学号], [科目]) VALUES (N'001', N'语文')
GO
GO
INSERT INTO [dbo].[UserInoDetails] ([学号], [科目]) VALUES (N'001', N'英语')
GO
GO
INSERT INTO [dbo].[UserInoDetails] ([学号], [科目]) VALUES (N'001', N'数学')
GO
GO
INSERT INTO [dbo].[UserInoDetails] ([学号], [科目]) VALUES (N'002', N'语文')
GO
GO
INSERT INTO [dbo].[UserInoDetails] ([学号], [科目]) VALUES (N'002', N'数学')
GO
GO
SELECT DISTINCT a.学号,a.姓名,a.性别, 科目= stuff((SELECT DISTINCT '/'+ 科目 FROM UserInoDetails WHERE 学号 = a.学号 FOR xml path ('') ), 1, 1, '' ) from UserInfo a INNER JOIN UserInoDetails b on a.学号=b.学号 结果: 001 张三 男 数学/英语/语文 002 李四 女 数学/语文
蝶恋花雨 2016-01-21
  • 打赏
  • 举报
回复

SELECT   
a.学号,a.姓名,a.性别,
  科目= stuff((SELECT  DISTINCT '/'+ 科目 FROM	B	WHERE	学号 = a.学号	 	 FOR xml path ('')	),	1,	1,	''	),
 from A a INNER JOIN B b on a.学号=b.学号  
用stuff 来合并科目
如果丶没有 2016-01-21
  • 打赏
  • 举报
回复
楼上回答正解!
Go 旅城通票 2016-01-21
  • 打赏
  • 举报
回复
select 分表.学号,分表.学号,总表.性别,总表.姓名
from 分表
left join 总表 on 总表.学号=分表.学号
少了个on。。
Go 旅城通票 2016-01-21
  • 打赏
  • 举报
回复
select 分表.学号,分表.学号,总表.性别,总表.姓名
from 分表
left join 总表 总表.学号=分表.学号
然后自己遍历rs组合下

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧