所以基本上我想要做的是從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'列有一個外鍵約束,這是否正確? (因爲你描述的症狀彷彿'有些行沒有匹配事件') –
你能否提供表結構和樣本數據 –