2012-06-15 57 views
0

我遇到了很多的问题与SQL,我不知道该怎么做我需要什么,但一系列的步骤是这样的:SQL查询相交

有两个表。 表1具有“game_id”

表2有一个“game_id”和“ID” 其中“game_id”是相同的第一个表。

表1是游戏列表。 表2是特许经营权清单。

我试图做一个sql查询,只会显示从特许经营的游戏。

我有这样的:

SELECT * FROM gamedata_similar_games 
INNER JOIN gamedata_franchises 
ON gamedata_franchises.id='244' 
WHERE gamedata_similar_games.game_id= '6959' 

但它返回335个结果。这款游戏拥有6款游戏的特许经营权。

这太不清楚了吗?

+0

尝试研究关于加入的目的。这将帮助你很多,而不仅仅是这个特定的查询。 – usr

回答

0

你必须把相关领域的ON子句

SELECT * FROM gamedata_similar_games G 
INNER JOIN gamedata_franchises F 
ON G.game_id = F.game_id 
WHERE F.id= '244' 
+0

这个特定的查询似乎并没有产生我期待的结果。 它返回203 我只期望6行。 – Adola

+0

有哟尝试先运行separater查询吗?我的意思是,SELECT * FROM gamedata_franchises WHERE id ='244',有多少条记录?...和SELECT * FROM gamedata_similar_games WHERE game_id IN(SELECT game_id FROM gamedata_franchises WHERE id ='244')? – crassr3cords

+0

是的,仍然没有去。我正在研究加入。 – Adola