sql查询未填写表条目

时间:2015-07-13 16:30:35

标签: mysql sql sql-server

编写查询以显示填写了配置文件详细信息的所有用户的名称和角色详细信息,按名称按升序排序。对于这个问题,我的查询如下:

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 

但此查询无效,请提供一些方法来更正我的问题查询

1 个答案:

答案 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

主要问题是您尝试加入角色而不实际加入表格。

我已经弥补了用户和角色之间的联接,因为您的问题没有显示关系。必要时调整。