抱歉,如果我的标题有点误导,但不完全确定如何表达它。
为什么以下两个语句之间会有差异:
SELECT *
FROM tbl1 LEFT OUTER JOIN
tbl2 ON tbl1.num = tbl2.tbl1Num LEFT OUTER JOIN
tbl3 ON tbl2.num = tbl3.tbl2Num
WHERE tbl2.intNum = 123 OR 123 = -1和
DECLARE @intNum int = 123
SELECT *
FROM tbl1 LEFT OUTER JOIN
tbl2 ON tbl1.num = tbl2.tbl1Num LEFT OUTER JOIN
tbl3 ON tbl2.num = tbl3.tbl2Num
WHERE tbl2.intNum = @intNum OR @intNum = -1我们运行上述两个查询,它实际上给了我们不同的结果?我们最终将其改为一个联盟来解决这个问题,但我真的很想知道为什么会发生这种情况。
提前感谢!
发布于 2011-02-15 22:55:30
您缺少参数类型:
declare @intNum int = 123https://stackoverflow.com/questions/5005151
复制相似问题