我有一个简单的查询,它没有给出想要的结果。查询如下
select *
from friends_nudges a
INNER JOIN user_friends b
ON a.user_id = b.user_id
where a.user_id = 104 and
nudge_sent = 1
order by nudge_sent_time asc
不知何故,这个查询返回了两个表的所有结果。
我有一个简单的查询,它没有给出想要的结果。查询如下
select *
from friends_nudges a
INNER JOIN user_friends b
ON a.user_id = b.user_id
where a.user_id = 104 and
nudge_sent = 1
order by nudge_sent_time asc
不知何故,这个查询返回了两个表的所有结果。
请试试这个:
select a.col, b.col -- specify accordingly
from friends_nudges a
INNER JOIN user_friends b
ON a.user_id = b.user_id
AND a.user_id = 104
AND a.nudge_sent = 1 -- where does nudge_Sent belong to? a or b?
order by a.nudge_sent_time asc -- where does this column belong to?
对不起,我的错误...... user_id 列不是两个表中的主键列,这就是为什么会有这么多记录出现。所以最基本的首要检查点是:永远不要忘记基本规则。所有的连接通常都应该针对主键和外键进行。