相同的查询两次但不同于子句

时间:2013-07-16 15:11:54

标签: sql-server-2008

我有一个存储过程,它基本上包含两次相同的查询。 好吧,这是愚蠢的。我这样做的原因是因为在一个案例中我在一个表上使用了LEFT JOIN而另一个表是INNER JOIN

IF @param = 1
BEGIN 
    --SELECT 1 with the INNER JOIN
END
ELSE
BEGIN
    --SELECT 2 with the LEFT JOIN
END

有更优雅的方法吗?

2 个答案:

答案 0 :(得分:0)

您可以使用动态SQL,根据不同的参数在varchar变量中构建查询,并在最后执行结果。

答案 1 :(得分:0)

我终于改变了应用程序的功能,所以我不再需要它了。

经过几次测试后,tlbignerd在问题评论中的解决方案看起来就像是为我做这个的最佳方式。