【问题标题】:SQL- How to get value from a different table without joining to use on a equation?SQL-如何在不加入等式的情况下从不同的表中获取值?
【发布时间】:2021-08-04 20:54:22
【问题描述】:

我有一张按部门划分的公司总用户数的表格,还有一张包含多种不同产品总支出的表格,我想通过将每个总支出除以按所有部门的总使用次数计算的产品。

Division User Count
A 10
B 20
C 20
D 50
Total 100

产品表,

Product Total Spend
Apple 670
Orange 580
Grapes 640
Tomato 1050

最终结果应该是,

Product Total Spend
Apple 6.7
Orange 5.8
Grapes 6.4
Tomato 10.5

由于这些表之间没有什么共同点要加入,我需要一种方法来获取用户计数列的总数,并将其用于查询的方程式中。它必须是动态的,这样即使用户数量发生变化,它也会反映在人均支出上。

我正在使用 Zoho Analytics 进行在线查询。

【问题讨论】:

  • 第一个表中的 Total 真的有一行吗?

标签: sql join datatable union


【解决方案1】:

你可以在加入前聚合:

select p.*, p.spend * 1.0 / d.user_count
from product p cross join
     (select sum(user_count) as user_count
      from divisions
     ) d;

【讨论】:

    猜你喜欢
    • 2016-12-05
    • 1970-01-01
    • 1970-01-01
    • 2011-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-22
    相关资源
    最近更新 更多