Query to get the users who have a application approved I have two tables Users and Submissions . Need to find the query to get the users who have submitted atleast one grant and have never won .

I can write a subquery and achieve it .But I would like to know if there is an efficient way ?

Users 
ID | name | email | registered | etc



Submissions 

ID | userID | status | eventID | etc


Now Submissions can have multiple entries of users corresponding to different event. A user can have a status as approved ,rejected . 

How do I write the MySQL query to fetch the users who have atleast one submission but never approved .
You can join the same table twice, once to check that there exists some submission (preferably a rejected one) and second time you left join the same to get any approved submission - then you can check if the left join found something (and remove those - where approved_table.id is null) - to get only one row per user you can do a group by Users.ID.

select users.* from users
inner join Submissions exist_grant
    on users.ID = exist_grant.userID
left join Submissions approved_grant
    on (approved_grant.status="Approved" and users.ID = approved_grant.userID)
where approved_grant.userID is null
group by users.ID