根据同一个表中另一个字段的值获取Mysql编号的净值

时间:2017-12-16 03:45:26

标签: mysql sum

我使用以下查询获取表格中数字(金额)字段的净值。净值基于称为事务类型的字段的类型进行计算。任何人都可以通过建议有什么方法来简化我的下面的查询。

  renderBuses() {
    return this.props.buses.map(bus =>
      <BusDetail 
        key={bus.reg_code} 
        bus={bus} 
        scrollTo={y => ScrollViewRef.scrollTo({ y })}
      />
    );
  }

  render() {
    return (
      <View style={{ flex: 1, backgroundColor: '#e6e6e6' }}>
        <ScrollView 
          style={{ flex: 1 }}
          ref={ref => ScrollViewRef = ref}
        >
          {this.renderBuses()}
        </ScrollView>
      </View>
    );
  }

1 个答案:

答案 0 :(得分:0)

可能首先按jvm_txn_type分组:

SELECT SUM(IF(x.type='Receipt', s, 0)) - 
       SUM(IF(x.type='Payment', s, 0)) AS net_balance FROM 
       (  SELECT jvm_txn_type type,  SUM(jvm_txn_amount) s
            FROM jvm_transactions
           WHERE jvm_txn_mode = 'CASH'
             AND jvm_txn_mnt_stat = 'A'
        GROUP BY jvm_txn_type
       ) x

它更紧凑,重复性更低,应该使它更通用,更容易维护。