我有两个表,一个表和一个表用户通知。我必须选择尚未收到通知的用户。我尝试过各种方式,例如使用此查询:
SELECT user.registration_id FROM user
LEFT JOIN notify ON user.registration_id = notify.registration_id
但它不起作用。我怎么解决?
您还可以链接使用的两个表的结构。提前谢谢。
CREATE TABLE IF NOT EXISTS `user` (
`id` int(15) NOT NULL,
`user_id` int(10) unsigned NOT NULL,
`registration_id` varchar(200) NOT NULL,
`login_username` varchar(100) NOT NULL
);
CREATE TABLE IF NOT EXISTS `notify` (
`id` int(11) unsigned NOT NULL,
`registration_id` varchar(200) NOT NULL,
`user_id` int(15) unsigned NOT NULL,
`start_notify` datetime NOT NULL,
`stop_notify` datetime NOT NULL,
`partial_score` int(15) unsigned NOT NULL
);
答案 0 :(得分:0)
您需要WHERE
语句才能找到尚未收到通知的用户:
SELECT user.registration_id
FROM user
LEFT JOIN notify
ON user.registration_id = notify.registration_id
WHERE notify.id IS NULL;
这将检索通知表中没有条目的用户的所有用户ID。