我在理解与mysql的连接时遇到了一些问题。
我有三张桌子。gold_sended) user_id |已发送
寄存器) user_id | gold_swap_id
google_users) oauth_uid | portal_name
现在需要做的事情如下所示。首先,我需要google_users的所有portal_names,其中oauth_id =与register.user_id相同
接下来,我还需要检查register.user_id = gold_sended.user_id
如果来自寄存器的user_id是相同的als gold_sended user_id,则显示
门户名称。如果不是,则不显示任何内容。
我从来没有使用过joins,所以我对如何恰当地使用joins有点迷茫。
好了,现在解决了。
SELECT
google_users.portal_name,
gold_sended.user_id,
gold_sended.date,
COUNT(gold_sended) as total_runs
FROM
register_gold_swap
LEFT JOIN google_users on register_gold_swap.user_id=google_users.oauth_uid
LEFT JOIN gold_sended on register_gold_swap.user_id=gold_sended.user_id
WHERE
register_gold_swap.gold_swap_id = "1"
AND register_gold_swap.status = "1"
GROUP BY google_users.portal_name现在正在输出正确的数据。谢谢大家
发布于 2017-07-23 15:19:30
select
g.portal_name
from
gold_sended as gs
left join register as r
on g.oauth_id=r.user_id
left join google_users as g
on gs.user_id=g.oauth_id 尝尝这个
https://stackoverflow.com/questions/45262471
复制相似问题