我有:
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。我只想要前 2 个连接中的 6 条记录的 ParamValue,我似乎无法弄清楚为什么会出现这种情况。我正在编写第 12 个小时的代码,我确信这非常明显,但我可以用一只手。提前致谢。