计算两个不同表的输出之间的除法

hujrc8aj  于 2021-08-13  发布在  Java
关注(0)|答案(1)|浏览(293)

我正在计算废品率。所以我的输出会给出类似的结果。

Scrap Product Total Count 
-------------------
Product Total Count

我有两张table:

Product
--------
Barcode 1
Barcode 2 
Barcode 3
Barcode 4

废品

Barcode 2
Barcode 4

我一直在尝试使用pivot操作符和下面的查询进行不同的查询。实现这一目标的最佳方法是什么?

select (
select count(barcode)
FROM ScrapProduct)
 / 
(
select count(barcode)
FROM Product) as total_count
bd1hkmkf

bd1hkmkf1#

你的代码基本上没问题。但是整数除法会有问题。所以,你的数字需要小数。我发现这是最简单的方法:

select ( (select count(barcode) from ScrapProduct) * 1.0 / 
         (select count(barcode) from Product)
       ) as scrap_rate

如果需要三列,则将子查询移动到 from 条款:

select num_scrap, num_product, (num_scrap  * 1.0 / num_product) as scrap_rate 
from (select count(barcode) as num_scrap from ScrapProduct) sp cross join
      (select count(barcode) as num_product from Product) p

相关问题