SQL Over/Under 列比较
SQL Over/Under Column Comparison
我正在尝试提取 Net_Qty 是 Order_Qty 的 +/- 300 的行,但我想我可能只是遗漏了一些语法。
SELECT DISTINCT
o.Ord_No,
odf.OrdFuel_Order_Qty,
odf.OrdFuel_Deliv_Net_Qty
FROM Order_Details_Fuel odf
JOIN Orders o ON odf.OrdFuel_Ord_Key = o.Ord_Key
WHERE odf.OrdFuel_Deliv_Net_Qty >= (300 + odf.OrdFuel_Order_Qty)
OR odf.OrdFuel_Deliv_Net_Qty <= (300 - odf.OrdFuel_Order_Qty)
如果我不使用 OR 子句,查询将按预期 return 行,但是当我添加 OR 子句时,查询只是 return 连接 [=20] 中的所有行=].任何帮助将不胜感激。
您的查询有一些问题:
- 你有less/greater比倒着
- 你有倒数的减法
- 你需要
and
,而不是 or
您可能正在寻找的是:
SELECT DISTINCT
o.Ord_No,
odf.OrdFuel_Order_Qty,
odf.OrdFuel_Deliv_Net_Qty
FROM Order_Details_Fuel odf
JOIN Orders o ON odf.OrdFuel_Ord_Key = o.Ord_Key
WHERE odf.OrdFuel_Deliv_Net_Qty <= (300 + odf.OrdFuel_Order_Qty)
and odf.OrdFuel_Deliv_Net_Qty >= (odf.OrdFuel_Order_Qty - 300)
正如 JNevill 所指出的,这甚至可以简化为:
ABS(odf.OrdFuel_Deliv_Net_Qty - odf.OrdFuel_Order_Qty) <= 300
这一点完全归功于他。
我正在尝试提取 Net_Qty 是 Order_Qty 的 +/- 300 的行,但我想我可能只是遗漏了一些语法。
SELECT DISTINCT
o.Ord_No,
odf.OrdFuel_Order_Qty,
odf.OrdFuel_Deliv_Net_Qty
FROM Order_Details_Fuel odf
JOIN Orders o ON odf.OrdFuel_Ord_Key = o.Ord_Key
WHERE odf.OrdFuel_Deliv_Net_Qty >= (300 + odf.OrdFuel_Order_Qty)
OR odf.OrdFuel_Deliv_Net_Qty <= (300 - odf.OrdFuel_Order_Qty)
如果我不使用 OR 子句,查询将按预期 return 行,但是当我添加 OR 子句时,查询只是 return 连接 [=20] 中的所有行=].任何帮助将不胜感激。
您的查询有一些问题:
- 你有less/greater比倒着
- 你有倒数的减法
- 你需要
and
,而不是or
您可能正在寻找的是:
SELECT DISTINCT
o.Ord_No,
odf.OrdFuel_Order_Qty,
odf.OrdFuel_Deliv_Net_Qty
FROM Order_Details_Fuel odf
JOIN Orders o ON odf.OrdFuel_Ord_Key = o.Ord_Key
WHERE odf.OrdFuel_Deliv_Net_Qty <= (300 + odf.OrdFuel_Order_Qty)
and odf.OrdFuel_Deliv_Net_Qty >= (odf.OrdFuel_Order_Qty - 300)
正如 JNevill 所指出的,这甚至可以简化为:
ABS(odf.OrdFuel_Deliv_Net_Qty - odf.OrdFuel_Order_Qty) <= 300
这一点完全归功于他。