需要查询出所有字段,让userId显示,但是只显示一个,求大佬解答一下
--用户信息表
create table UserInfo
(
userId VARCHAR(20) primary key NOT NULL, --用户身份证号
userEmail VARCHAR(50) NOT NULL, --用户邮箱 用于登录
userPwd VARCHAR(20) NOT NULL, --用户密码
registerTime DATETIME NOT NULL, --注册时间 注册时默认当前系统时间
)
go
--用户详细信息表
create table UserDetailInfo
(
userId VARCHAR(20) NOT NULL, --用户身份证号 外键,关联用户信息表中主键userId
userName VARCHAR(50) NOT NULL, --姓名
userPhone VARCHAR(20) NOT NULL, --联系电话
userAddress VARCHAR(100) NOT NULL, --联系地址
)
select top 3* from (select userEmail,userPwd,registerTime,userName,userPhone,userAddress,ROW_NUMBER()
OVER(order by userEmail) as RowNo from UserInfo a inner join UserDetailInfo b on a.userId=b.userId)as t1
where RowNo not in(select top 0 RowNo from (select userEmail,userPwd,registerTime,userName,userPhone,userAddress,ROW_NUMBER()
OVER(order by userEmail) as RowNo from UserInfo a inner join UserDetailInfo b on a.userId=b.userId)as t2 order by RowNo asc)
通过inner join 会显示出8个字段,其中有一个userId 重复,怎样才能去掉这个重复的列。
需要做的功能是“多表查询并页显示”。
不知道你说的是重复的行还是列。
如果是列,那么select top 3*
修改为select top 3 你要的字段1, 你要的字段2, ...
如果是行,有重复的userid,那么 group by userid 加在最后