mysql join:获取与匹配通知类型的行匹配的所有行为零

时间:2016-08-14 06:18:37

标签: php mysql

我的数据库中有两个表

1.mir_notifications (ID(PK),标题,消息,notifcaton_type)

2.mir_users_notifications  (ID,USER_ID,notif_id(FK))

notif_id引用id表格中的mir_notification

我想从mir_notification表中找到与mir_users_notifcations表中的user_id和notification_type表中的mir_notifications匹配的所有行以及notifcation_type的所有行是0

(即如果通知类型为零,则会为所有用户提取

以下是我使用的查询

SELECT mir_notifications.* FROM mir_notifications LEFT JOIN mir_users_notification ON mir_notifications.id=mir_users_notification.notif_id WHERE mir_notifications.notfication_type IN (0,2) AND  mir_users_notification.user_id=2

这里我传递通知类型0和1,userid是2,目前这个用户没有特殊通知但是他有一个共同的通知(即notification_type是0)所以它应该从mir_notification表中重新匹配行匹配notification_type为零,但会返回空结果

1 个答案:

答案 0 :(得分:1)

您只需修改WHERE子句即可。以下查询将获取用户2的{​​{1}}类型的所有通知,以及2类型的所有通知。

0