存储过程IF里面能执行where吗? SELECT
M_HINBAN.HNBAN
,M_HINBAN.NENDO
,M_HINBAN.SEASON
,M_HINBAN.ITEM
FROM
M_HINBAN LEFT JOIN M_SHOHIN
ON M_HINBAN.HNBAN = M_SHOHIN.HNBAN IF @NHBAN_F IS NOT NULL
AND @NHBAN_T IS NOT NULL BEGIN WHERE M_HINBAN.HNBAN > = @NHBAN_F
AND M_HINBAN.HNBAN < = @NHBAN_T END
M_HINBAN.HNBAN
,M_HINBAN.NENDO
,M_HINBAN.SEASON
,M_HINBAN.ITEM
FROM
M_HINBAN LEFT JOIN M_SHOHIN
ON M_HINBAN.HNBAN = M_SHOHIN.HNBAN IF @NHBAN_F IS NOT NULL
AND @NHBAN_T IS NOT NULL BEGIN WHERE M_HINBAN.HNBAN > = @NHBAN_F
AND M_HINBAN.HNBAN < = @NHBAN_T END
M_HINBAN.HNBAN
,M_HINBAN.NENDO
,M_HINBAN.SEASON
,M_HINBAN.ITEM
FROM
M_HINBAN LEFT JOIN M_SHOHIN
ON M_HINBAN.HNBAN = M_SHOHIN.HNBAN
WHERE M_HINBAN.HNBAN > = isnull(@NHBAN_F,M_HINBAN.HNBAN)
AND M_HINBAN.HNBAN < = isnull(@NHBAN_T,M_HINBAN.HNBAN)
我在想if中判断条件为空就跳过
执行之后的语句
最后形成一个完整的 sql语句
我想用if语句吧 符合条件的加上 where语句
不符合条件就滤过