为什么我的加入给了我太多结果?

时间:2012-08-02 01:26:06

标签: sql sql-server-2005 join

我有:

  SELECT  dv.VariableID ,
            ds.DataSourceID ,
            p.DataVariableDataSourceParamId ,
            p.ParamCode ,
            p.ParamDisplayName ,
            p.DVDSParamControlType ,
            p.DependentOnDVDSParamId ,
            pv.ParamValue
    FROM    dbo.DataVariable dv
            INNER JOIN dbo.DataVariableDataSource ds ON dv.DataSourceId = ds.DataSourceID
            INNER JOIN dbo.DataVariableDataSourceParam p ON ds.DataSourceID = p.DataSourceId
            INNER JOIN dbo.DataVariableDataSourceParamValue pv ON p.DataVariableDataSourceParamId = pv.DataVariableDataSourceParamId
    WHERE   dv.VariableID = @vid
    ORDER BY dv.VariableID

当我只有前两个连接时,我得到了我想要的东西:6个结果。当我添加第三个时,我得到660.我只想要ParamValue来自前2个连接的6个记录,我似乎无法弄清楚为什么这个破坏了。我正处于编码的第12个小时,我确信这是非常明显的,但我可以用一只手。提前谢谢。

0 个答案:

没有答案