回答

收藏

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

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

例子:
$ w6 j2 E; T% R( iSELECT   (SELECT SUM(...) FROM ...) as turnover,  (SELECT SUM(...) FROM ...) as cost,  turnover - cost as profit确定这是无效的(至少在Postgres有效)但是如何在不重写的情况下在查询中达到同样的效果呢?- s% ~: \/ ^: J$ @: y( H
                                                                ) j) `; u2 C5 y& g. q+ f! ~/ D
    解决方案:                                                                4 M5 g/ ?1 R) l: R* r! ?- K# X& Q6 h. i$ H
                                                                像这样:
; d' s( K- D: t$ S; ^8 v8 DSELECT   turnover,  cost,  turnover - cost as profitfrom (   (SELECT SUM(...) FROM ...) as turnover,  (SELECT SUM(...) FROM ...) as cost   ) as partial_sums
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则