2011-12-18 64 views
0

我对我的应用程序有一个问题,那就是使用MySQL。我有一个产品表和另一个与产品媒体(包括照片,视频等)的表格 - 这些产品具有多种产品。该表具有产品ID的FK。SQL内部加入多个表

我需要使用所有媒体(即多个注册表)加载产品。这是最好的方法?

我尝试了INNER JOIN,但它多次收到注册表并且产品重复(因为我有多个媒体itens)。我认为这不是最好的方法。

+0

您能向我们展示您尝试的查询以及您期望的输出吗? –

+0

根据您的模糊描述,“INNER JOIN”检索预期的输出(并且将省略没有媒体的产品)。你到底想要完成什么,你到底有什么目标? –

+0

我想要一个更好的方法来做到这一点。这是正确的,表现? – Marcos

回答

0

您所得到的数据和结果的例子会很有帮助。

但是,基于我可以从您的问题中收集到的信息,我认为您的问题将通过简单添加DISTINCT来解决。

例如而不是SELECT ProductId,ProductName,MediaId,MediaName ... do SELECT DISTINCT ProductId,ProductName,MediaId,MediaName

如果没有独立,您将获得两个表之间的所有链接行。使用DISTINCT,您将只获得唯一组合所选字段。