编写查询以显示填写了配置文件详细信息的所有用户的名称和角色详细信息,按名称按升序排序。对于这个问题,我的查询如下:
select name,
role.name,
role.id
from user,role
where user.profile_id= profile.id
AND profile_id IN (select id from profile where address IS NOT NULL AND batch IS NOT NULL AND degree_id IS NOT NULL AND designation IS NOT NULL AND gender IS NOT NULL) order by name asc
但此查询无效,请提供一些方法来更正我的问题查询
答案 0 :(得分:1)
尝试此操作,或提供有关架构的额外信息,因为很难盲目创建查询。
SELECT
user.Name, role.Name, role.Id
FROM
user u
INNER JOIN Role r ON u.role_id = r.Id
INNER JOIN Profie p ON u.profile_Id = p.profile_id
WHERE
address IS NOT NULL AND batch IS NOT NULL AND degree_id IS NOT NULL
AND designation IS NOT NULL AND gender IS NOT NULL
主要问题是您尝试加入角色而不实际加入表格。
我已经弥补了用户和角色之间的联接,因为您的问题没有显示关系。必要时调整。