回答

收藏

如何将表达式中的结果列重用于另一个结果列

技术问答 技术问答 460 人阅读 | 0 人回复 | 2023-09-14

例子:* [1 g. z  s8 D7 e1 @6 K
SELECT   (SELECT SUM(...) FROM ...) as turnover,  (SELECT SUM(...) FROM ...) as cost,  turnover - cost as profit确定这是无效的(至少在Postgres有效)但是如何在不重写的情况下在查询中达到同样的效果呢?' q) Z0 q% h/ |
                                                               
1 ]5 O% U9 G2 V    解决方案:                                                               
  ?1 E! @* H8 Z; g2 L3 W) \8 r: C9 a                                                                像这样:; ?$ ]8 I2 p$ Y) ^2 W4 J
SELECT   turnover,  cost,  turnover - cost as profitfrom (   (SELECT SUM(...) FROM ...) as turnover,  (SELECT SUM(...) FROM ...) as cost   ) as partial_sums
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则