2017-02-01 161 views
-3

我有两个表事件和enrolledevents当一个学生注册一个事件的studentId和eventId存储在enrolledevents表 现在我想获得所有未注册的事件的学生。左连接查询错误

我的表: 事件表enter image description here

EnrolledEvents enter image description here

任何一个可以给我我试过很多查询的查询,但我没有得到的结果

SELECT 
    * 
FROM 
    events 
     LEFT JOIN 
    enrolledevents ON events.event_id = enrolledevents.eevent_id 
WHERE 
    event_occurance = 'daily' 
     AND status = '1' 
     AND (enrolledevents.estudent_id NOT IN ('1') 
     AND enrolledevents.eevent_id NOT IN ('3')) 

回答

0

移动下面WHERE条件到JOIN ON子句

AND (enrolledevents.estudent_id NOT IN ('1') 
    AND enrolledevents.eevent_id NOT IN ('3')) 

SELECT 
    * 
FROM 
    events 
     LEFT JOIN 
    enrolledevents ON events.event_id = enrolledevents.eevent_id 
        AND enrolledevents.estudent_id <> '1' 
        AND enrolledevents.eevent_id <> '3' 
WHERE 
    events.event_occurance = 'daily' 
     AND events.status = '1'; 
+0

抱歉,我没有得到你,你给我完整的查询 –

+0

@sivasandeepgarapati,看到在回答编辑是否有帮助。 – Rahul

+0

但是3是eventid –