奇怪的SQL关联查询问题
数据库(SQL SERVER2000)中有一函数,取出未执行完的合同,返回合同ID、部门ID及客户ID,未执行完数据等等。
现有如下SQL查询的奇怪问题:
-- 查询返回一条的记录,假设部门ID为44
SELECT ordId, dptId, cusId, qt FROM FUN_unOutOrd(default, default, 1)
--可与客户表根据根据客户ID内关联时,就只有一条记录,正常:
SELECT unOutOrd.ordId, unOutOrd.cusId FROM FUN_unOutOrd(default, default) unOutOrd INNER JOIN cus ON unOutOrd.cusId = cus.cusId
--与部门表根据部门ID内关联时,却会出现多条部门ID相同但合同ID不同的记录,怎么回事?(数据库中部门ID为44的部门也是唯一的):
SELECT unOutOrd.ordId, unOutOrd.dptId FROM FUN_unOutOrd(default, default) unOutOrd INNER JOIN dpt ON unOutOrd.dptId = dpt.dptId
请问,第三条SQL查询为什么会出现这样的情况?这个问题已经困扰了我几天了,不知各位高手们有没有遇到过?谢谢。
我的SQL SERVER已打补丁Pack4。