28,390
社区成员
发帖
与我相关
我的任务
分享
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 李四 女 数学/语文
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 来合并科目select 分表.学号,分表.学号,总表.性别,总表.姓名
from 分表
left join 总表 on 总表.学号=分表.学号
少了个on。。select 分表.学号,分表.学号,总表.性别,总表.姓名
from 分表
left join 总表 总表.学号=分表.学号
然后自己遍历rs组合下