此查询有效。
表用户
userid firstname lastname
1 JOHN DEO
2 JANE DEO
TABLE msg
msg_id msg_from msg_to received
1 userid(1) userid(2) null
SELECT SND.userid, SND.firstname, SND.lastname
FROM msg as M
JOIN users as SND
ON SND.userid = M.msg_from
WHERE M.msg_to = 'userid -1'
AND M.received IS NULL
但是这个查询不起作用
TABLE users
userid firstname lastname
1 JOHN DEO
2 JANE DEO
TABLE msg
msg_id msg_from msg_to received age city country
1 userid(1) userid(2) null 26 any any
SELECT SND.userid, SND.firstname, SND.lastname, SND.age, SND.city, SND.country
FROM msg as M
JOIN users as SND
ON SND.userid = M.msg_from
WHERE M.msg_to = 'userid -1'
AND M.received IS NULL
我想从表 msg 上的数据库中选择年龄城市国家,但看起来我的查询有问题,从表 msg 中选择年龄城市和国家
最佳答案
您需要将 SND.age,SND.city,SND.country
更改为 M.age,M.city,M.country
,因为它们来自表 消息
SELECT SND.userid, SND.firstname, SND.lastname, M.age, M.city, M.country
FROM msg as M
JOIN users as SND
ON SND.userid = M.msg_from
WHERE M.msg_to = 'userid -1'
AND M.received IS NULL
关于mysql - 使用 mysql join 查询选择数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52667726/