我是MySQL的新手,正在使用一个数据库系统,该数据库具有四个主表,在此进行描述:
http://www.pastie.org/3832181
此查询主要使用的表在此处:
http://www.pastie.org/3832184
似乎很简单,对不对?
我的查询的目的是为商机ID为NULL的显式用户获取所有商户ID,一旦有了这些商户ID,我希望它在商户表中找到关联的商户名称,并将该商户名称与雇佣机会中的商户名称(业务)匹配。 table 。
这是我执行该操作的查询。
SELECT EmploymentOpportunity.OpportunityID, Business, Description
FROM UserBusinessOpportunity, Business, EmploymentOpportunity
WHERE UserBusinessOpportunity.BusinessID =
(SELECT UserBusinessOpportunity.BusinessID
FROM UserBusinessOpportunity
WHERE UserBusinessOpportunity.UserID=1 AND
UserBusinessOpportunity.OpportunityID is NULL)
AND UserBusinessOpportunity.BusinessID = Business.BusinessID
AND Business.BusinessName = EmploymentOpportunity.Business;
子选择语句应该返回BusinessID的子集。我确定这是一个非常简单的查询,但它会不断给我带来重复的结果,而且我知道为什么。结果集应该为3,但它会向我发送24个结果,或向我发送3个结果的8个重复集。
谢谢,如果您能帮助我解决这个问题。
最佳答案
使用distinct
关键字删除重复项。
看看here