SQL Server 2005中使用INNER JOIN进行动态查询

时间:2014-01-20 13:27:54

标签: sql sql-server

我有一个SQL查询,它使用内联接,表t1有两列IDFID,在存储过程中有两个变量@ID和{{1} },内部联接为

@FID

现在的问题是我想让它变得动态。如果表t1中的 Inner Join t1 on t1.ID = @ID and t1.FID = @FID 为null,那么我应该仅将ID匹配部分应用为

FID

否则应该是原来的

Inner Join t1 on t1.ID = @ID

1 个答案:

答案 0 :(得分:0)

上面的部分应该像这样重写:

Inner Join t1 on t1.ID = @ID and ISNULL(t1.FID,@FID) = @FID

请注意,我假设@FID不是可空字段。