在SQL语句中划分.

Dan*_* Jr 4 sql division

好的,我的问题是:

我有一个表itemconfig,其中有很多关于存储在我们仓库中的项目的数据.我需要选择一个特殊group的项目,这样我就可以做一些与工作相关的测试.到目前为止,当我滚动浏览数据库时,我一直在脑子里做数学,但必须有一个更简单的方法.

在itemconfig中我想特别查看列case_qty和pal_qty以及itm_num.我想要做的是选择所有itm_num,其中pal_qty / case_qty大于say 500.这将itm_num立即给我所有与我的测试相关的信息.可悲的是,我不熟悉如何做到这一点,或者甚至可能.

谢谢.

das*_*ght 8

分区在大多数SQL方言中实现:使用/,如下所示:

select * from table
where  pal_qty / case_qty > 500
Run Code Online (Sandbox Code Playgroud)

假设case_qty是非负的,你可以pal_qty通过将两边相乘来保护自己免于被零除(并使用索引,如果有的话)case_qty:

select * from table
where  pal_qty > 500 * case_qty
Run Code Online (Sandbox Code Playgroud)

*感谢Vincent Savard的观察.

  • 这也具有允许在列'pal_qty`上使用索引的优点 (4认同)