簡體   English   中英

困難的SQL查詢

[英]Difficult SQL-Query

我有2個表,即表1調用游戲,表2調用game_medias

結構表1(游戲)

-id
-genre_id
-title
-created

等等

結構表2(game_medias)

-id
-game_id
-thumb

等等

示例查詢:

select g.id,g.genre_id,g.title, gm.* 
from games g inner join game_medias as gm 
group by rand(g.id) limit 8;

是否可以用“ where g.id ='2'“之類的多余字符進行查詢-從中獲取genre_id並使用該genre_id進入隨機的8個“項目”? 我不確定聯接是否是正確的解決方案-也許有人知道更好的方法?

問候

有很多方法可以做到這一點,但我相信這會起作用:

select g.id,g.genre_id,g.title, gm.* 
from games g inner join game_medias as gm 
where (g.genre_id = (SELECT genre_id FROM games WHERE id = 2))
group by rand(g.id) limit 8;

如果在games.id上有一個索引,那么它應該很快。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM