【发布时间】:2016-03-05 21:18:17
【问题描述】:
我使用由多个表组成的内部联接编写了一个查询
SELECT *
FROM admin_info
INNER JOIN admin_login
INNER JOIN gender
INNER JOIN admin_type
INNER JOIN area
INNER JOIN document_type
INNER JOIN permissions
ON admin_login.admin_id=admin_info.admin_id
AND admin_type.admin_type_id=admin_info.admin_type_id
AND area.area_id=admin_info.area_id
AND document_type.document_id=admin_info.document_id
AND permissions.permission_id=admin_info.permission_id
上述查询有效,但给出了同一记录或重复记录的多个结果 请帮我修复查询或提供此查询的替代方法 还请建议我如何优化查询以加快处理速度??
以上查询
SELECT *
FROM admin_info
INNER JOIN admin_login
INNER JOIN gender
INNER JOIN admin_type
INNER JOIN area
INNER JOIN document_type
INNER JOIN permissions
ON admin_login.admin_id=admin_info.admin_id
AND admin_type.admin_type_id=admin_info.admin_type_id
AND area.area_id=admin_info.area_id
AND document_type.document_id=admin_info.document_id
AND permissions.permission_id=admin_info.permission_id
Given 下面是结果的屏幕截图。
我想要每人只有一条记录,而不是重复记录?
除此之外,当我使用 foreach/while 循环时,结果会有所不同,请帮忙?
【问题讨论】:
-
能分享一下表结构和预期输出吗?
-
有很多表我应该共享所有表吗?
-
我只需要查询为每个用户输出一条记录,即没有重复记录!
-
子/外键表有多条记录关联一个人怎么办?
-
result中显示的列是否都属于同一张表?