日期:2014-05-17  浏览次数:21029 次

oracle为什么结果会不一样
查询语句 A :

 
XML code
SELECT PMWD.ID,(SELECT distinct PMWD.PJMBID FROM PM_PJMEMBER WHERE PM_PJMEMBER.PJMBID='106'),
       PMMB.PJMBNAME,PMWD.PJID ,PMWD.DELFLAG
       FROM PM_WORKDIARY PMWD
       LEFT JOIN PM_PJMEMBER PMMB ON PMWD.PJMBID=PMMB.PJMBID
       WHERE PMWD.DELFLAG='0' 


查询语句 B

XML code
SELECT PMWD.ID,PMWD.PJMBID,
       PMMB.PJMBNAME,PMWD.PJID ,PMWD.DELFLAG
       FROM PM_WORKDIARY PMWD
       LEFT JOIN PM_PJMEMBER PMMB ON PMWD.PJMBID=PMMB.PJMBID
       WHERE PMWD.DELFLAG='0' AND PMWD.PJMBID='106'


这两个结果为什么 会不一样啊??

求解释。。。。。。。 A 语句要怎么修改 才能和 B 查询语句 结果是一样啊 ??

------解决方案--------------------
两个完全不同的语句怎么能让他们有一样的结果啊?A不报错就不错了。
------解决方案--------------------
粘一下建表的sql脚本,并解释一个各个列的含义。
这个子查询SELECT distinct PMWD.PJMBID FROM PM_PJMEMBER WHERE PM_PJMEMBER.PJMBID='106'
肯定会报错。
------解决方案--------------------
SELECT distinct PMWD.PJMBID FROM PM_PJMEMBER WHERE PM_PJMEMBER.PJMBID='106'

这语句如果不是唯一的结果集。肯定是不一样的。