0

我有一个包含两次基本相同查询的存储过程。好吧,这很愚蠢。我这样做的原因是因为在一种情况下我LEFT JOIN在一张桌子上使用 a 而另一种情况下桌子是INNER JOIN

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

有没有更优雅的方法呢?

4

2 回答 2

0

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

于 2013-07-16T15:14:10.227 回答
0

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

经过几次测试后,问题评论中 tlbignerd 的解决方案看起来对我来说是最好的方法。

于 2013-07-16T16:44:21.720 回答