如何从两个不同的表中选择两列的差异并计算百分比

时间:2016-10-16 08:53:32

标签: sql sql-server postgresql

我需要在最终结果中列出四列。收入,成本,利润和利润占收入的百分比。我已经从两个不同的表中选择收入和成本,并且内部加入它们,因此我如何计算利润(收入减去成本),以及利润占收入的百分比(按收入划分利润)。 我假设代码应该是这样的吗?

SELECT
  t.revenue,
  s.cost,
  (SELECT t.revenue minus SELECT s.cost) "profit", (("profit"/t.revenue)*100.00) AS "Q%"
FROM t
INNER JOIN s
ON t.store = s.store

这是对的吗?

2 个答案:

答案 0 :(得分:1)

不,这不正确。但差不多好了: - )

SELECT t.revenue
,      s.cost
,      t.revenue - s.cost   "profit"
,      ((t.revenue - s.cost)/t.revenue)*100.00 AS "Q%"
FROM t
INNER JOIN s
ON t.store = s.store

答案 1 :(得分:0)

您可以同时使用"内部加入"或者"其中"此查询的子句:

  

使用Where子句

SELECT t.revenue, s.cost, (t.revenue - s.cost) AS profit,
        (((t.revenue - s.cost)/t.revenue)*100.00) AS "Q%"
FROM t, s
where t.store = s.store
  

使用内部联接

SELECT t.revenue, s.cost, (t.revenue - s.cost) AS profit,
        (((t.revenue - s.cost)/t.revenue)*100.00) AS "Q%"
FROM t
INNER JOIN s
ON t.store = s.store