我在MySQL方面还比较新,正在处理一个包含四个主要表的数据库系统,这些表在此处描述:
这个查询主要操作的表在这里:看起来相当简单,对吧?
我的查询目的是获取特定用户的所有BusinessID,其中OpportunityID为NULL,一旦获得这些BusinessID,我希望它在Business表中找到关联的BusinessName,并将该BusinessName与EmploymentOpportunity表中的BusinessName(Business)匹配。
这是执行该操作的查询。
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个重复集合。谢谢,如果您能帮我解决这个问题。