从连接查询中获取双重结果

时间:2011-06-13 06:57:33

标签: mysql

我试图用一个查询查询多个表,但我遇到了查询的麻烦。当我执行它时,我得到双值。结果在列表中出现两次。有人可以帮助我,告诉我我做错了什么

查询:

SELECT distinct *
FROM asset, inuse, location, user_asset
WHERE asset.aid = 95
  and asset.aid = location.asset_location_id
  and asset.aid = asset_usage_id
  and asset_id  = asset.aid
ORDER BY name ASC

表位置,user_asset与资产有1 - N关系,inuse有1-1关系。我假设DISTINCT将摆脱多个副本的问题。 asset.aid是唯一值,但在其他表中使用多次。

我在屏幕上显示所有值,但出于某种原因,它们会显示两次。

谢谢!

1 个答案:

答案 0 :(得分:0)

这意味着:

  • asset与其他表
  • 之间不存在一对一的关系
  • asset.aid不是唯一字段,您有多个条目符合asset.aid = 95

正如 mu太短所建议的那样,如果不提供表结构,您将无法得到可靠的帮助。