【发布时间】:2019-12-25 04:04:07
【问题描述】:
我试图构造这个查询,它只从 USER 表中选择出现在 FOLLOWER 表中的记录,但不断收到 val.slide 错误。
这是我的查询,如果我做错了什么或如何更好地构造它,请告诉我:
SELECT * from USERS JOIN FOLLOWERS
ON (USERS.uid = FOLLOWERS.fid OR USERS.uid = a OR USERS.uid = b)
WHERE FOLLOWERS.refid = 1
我也试过了:
SELECT * from USERS WHERE (USERS.uid = a OR USERS.uid = b) JOIN FOLLOWERS
ON USERS.uid = FOLLOWERS.fid
WHERE FOLLOWERS.refid = 1
我正在使用 nodejs 和 mysql。
更新: 好的,让我添加一些可能会清除它的解释。我想要来自 USER 表的 USER 的所有设置信息,对于两个不在关注者中的用户 id 以及用户表中与关注者 ref id 的值匹配的任何关注者 --- 所以最终我想要返回用户 A,用户 B 和用户 c,d,e,f 如果他们匹配 ref id。
Table USERS:
uid: a, settings_on: true
uid: b, settings_on: false
uid: c, settings_on: true
uid: d, settings_on: false
uid: e, settings_on: false
uid: f, settings_on: false
Table FOLLOWERS:
fid: c, ref_id: 1
fid: d, ref_id: 1
fid: e, ref_id: 3
fid: f, ref_id: 2
Expected:
uid: a, settings_on: true
uid: b, settings_on: false
uid: c, settings_on: true
uid: d, settings_on: false
这是预期的结果:
【问题讨论】:
-
请提供样本数据和期望的结果。
-
请看更新
-
结果中的 d 怎么样?
-
基于 ref_id
-
那为什么不e呢?
标签: mysql sql node.js database