的圆括号旋转
我有一个非常基本的问题,我试图解决(基本对我来说,无论如何),但我有困难理解为什么一个比特的代码工作独立,但当你把它包装在一个IF语句,它没有。
这个可以正常工作:
SELECT DISTINCT H.FB FROM I_HSE H WHERE H.AC IN (@AC) ORDER BY H.FB
但是,当我尝试在IF语句中使用它时:
IF @FILTERBY = '2'
BEGIN
(SELECT DISTINCT H.FB FROM I_HSE H WHERE H.AC IN (@AC) ORDER BY H.FB)
END
我得到错误"语法不正确附近的关键字'ORDER'
我已经做了一些搜索,但我似乎不明白为什么这不起作用。是否有其他方法对返回的结果集排序?
去掉括号
一样:
IF @FILTERBY = '2'
BEGIN
SELECT DISTINCT H.FB FROM I_HSE H WHERE H.AC IN (@AC) ORDER BY H.FB
END
删除(and):
IF @FILTERBY = '2'
BEGIN
SELECT DISTINCT H.FB FROM I_HSE H WHERE H.AC IN (@AC) ORDER BY H.FB
END
将SELECT