MySQL Query返回重复的结果

我是MySQL的新手,我正在使用一个数据库系统,它有四个主表,如下所述:

http://www.pastie.org/3832181

查询主要使用的表位于:

http://www.pastie.org/3832184

看起来相当简单吧?

我的查询的目的是获取OpportunityID为NULL的显式用户的所有BusinessID,一旦它具有那些BusinessID,我希望它在Business表中找到关联的BusinessName,并将该BusinessName与EmploymentOpportunity中的BusinessName(Business)相匹配表.

这是我执行该操作的查询.

SELECT EmploymentOpportunity.OpportunityID,Business,Description 
FROM UserBusinessOpportunity,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;

sub-select语句应该返回BusinessID的子集.我确信这是一个非常简单的查询,但它一直给我重复的结果,我很确定为什么.结果集应该是3,但它发送给我24个,或者8个重复的那些3.

谢谢,如果你能帮我解决这个问题.

最佳答案
使用distinct关键字删除重复项.

看看here

相关文章

优化MySQL数据库发布系统存储的方法有:1.mysql库主从读写分...
使用mysql的方法:在“我的电脑”→右键→“管理”→“服务”...
在mysql中查看root用户权限的方法:1.命令行启动mysql服务;...
MySQL主从复制是用来备份一个与主数据库一样环境的从数据库,...
运行mysql的方法1.启动mysql服务,在“我的电脑”→右键→“...
开启mysql的方法1.可以通过快捷键win+r,输入cmd,打开窗口,...