使用外部联接检索数据

时间:2014-04-17 13:43:27

标签: sql inner-join outer-join right-join

我根据条件examPeriod

编写了以下查询以从EXAMCENTERWORKINGDAYS中获取与Eep.[tpId]=ecwd.[TRAININGPERIODID]内的行匹配的行

查询如下:

SELECT ep.[id]
FROM [LMS17_ARU_backup_201402080000].[dbo].[examperiod]ep
RIGHT JOIN
  (SELECT ecwd.[trainingperiodid]
   FROM [LMS17_ARU_backup_201402080000].[dbo].[examcenterworkingdays]ecwd
   WHERE ecwd.[value] <> 0
     AND ecwd.[trainingperiodid]IS NOT NULL)ecwd ON ep.[tpid] = ecwd.[trainingperiodid]

问题是right join之后括号内的select语句只检索了95行,当我执行查询时它返回324行。我希望所有查询返回95行,即我希望从ep.[id]表中获取[examPeriod]来自嵌套选择返回的95行ep.[tpId]=ecwd.[TRAININGPERIODID]

抱歉,如果这是一个愚蠢的问题

0 个答案:

没有答案