Asp.net 如何配置SQL语法
我正在使用asp.net实现网站 我通过aspnet_regsql.exe配置了成员数据库 下面是aspnet_regsql制作的数据库图 我想用下面的列构造数据Asp.net 如何配置SQL语法,asp.net,sql,Asp.net,Sql,我正在使用asp.net实现网站 我通过aspnet_regsql.exe配置了成员数据库 下面是aspnet_regsql制作的数据库图 我想用下面的列构造数据 **[U.UserName, M.Email, M.LastLoginDate, R.RoleName ]** aspnet_Users AS U aspnet_UsersInRols AS UR aspnet_Roles AS R aspnet_Membership As M 我不知道我怎样才能使自己加入这些表格 你能告
**[U.UserName, M.Email, M.LastLoginDate, R.RoleName ]**
aspnet_Users AS U
aspnet_UsersInRols AS UR
aspnet_Roles AS R
aspnet_Membership As M
我不知道我怎样才能使自己加入这些表格
你能告诉我如何配置SQL语法吗
我尝试了这个查询,但没有正确的结果
SELECT U.UserName, M.Email, M.LastLoginDate, R.RoleName
FROM aspnet_Users AS U,
aspnet_UsersInRoles AS UR,
aspnet_Roles AS R,
aspnet_Membership AS M
WHERE U.UserId = UR.UserId AND UR.RoleId = R.RoleId AND U.UserId = M.UserId
提前谢谢你。这应该让你开始了。基本上可以使用键列连接这些列中的值匹配的数据:
SELECT
U.Username
, M.Email
, M.LastLoginDate
, R.RoleName
FROM
aspnet_Users AS U
JOIN aspnet_UserInRoles AS UR ON U.UserId = UR.UserId
JOIN aspnet_Roles AS R ON R.RoleId = UR.RoleId
JOIN aspnet_Membership AS M ON U.UserId = M.UserID
您可以指定哪种类型的联接(默认值=内部联接
),它将确定在不匹配时执行的操作,以及将两个表中的数据绑定在一起的列
对于Users和UserInRoles,它是UserID字段
我建议您仔细阅读有关数据库连接的内容。这是一个开始:
表aspnet\u成员资格
和aspnet\u用户角色
保持连接,因为我不知道它们是否会为每个用户提供详细信息。您熟悉外键以及外键的用途吗?提示:查看aspnet\u用户
中的UserId
,aspnet\u成员资格
和aspnet\u用户角色
,以及aspnet\u用户角色
中的RoleId
。您使用的语法已经过时。尝试使用正确的JOIN语句。也就是说,从表1中选择连接表1.column=Table2.column
,而不是从表1、表2中选择,其中table1.column=Table2.coulmn
。感谢您的帮助。我需要学习更多关于SQL语法的知识。非常感谢您的帮助。
SELECT
u.UserName,
m.Email,
m.LastLoginDate,
r.RoleName
FROM
aspnet_Users u
LEFT JOIN
aspnet_Membership m
ON u.UserId = m.UserId
LEFT JOIN
aspnet_UsersInRoles ur
ON u.UserId = ur.UserId
INNER JOIN
aspnet_Roles r
ON ur.RoleId = r.RoleId