需要查询出所有字段,让userId显示,但是只显示一个,求大佬解答一下。

需要查询出所有字段,让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 加在最后