所以基本上我想要做的是从category_event表中选择5个随机行,然后将category_event表中的fk_event_id与来自events表的id相匹配,最后命令5个随机来自事件表的start_time中的行。MySQL:加入两个表的问题
我有category_event表中有25行fk_category_id = 2,但是当我运行查询有时它返回5行,下次4行,下次5行,下次3行等。它应该是5每次...
这是我目前有:
SELECT * FROM
(
SELECT fk_event_id
FROM category_event
WHERE fk_category_id=2 AND status = 'enabled'
ORDER BY RAND() LIMIT 5
) c
INNER JOIN events e
ON e.id = c.fk_event_id
ORDER BY e.start_time;
任何帮助是极大的赞赏:)
请从表格中显示一些数据。也许你无意中限制了WHERE子句中的结果或INNER JOIN中的结果。 – Anton
fk_event_id看起来应该对事件'id'列有一个外键约束,这是否正确? (因为你描述的症状仿佛'有些行没有匹配事件') –
你能否提供表结构和样本数据 –