【问题标题】:Sum distinct rows inner join sqlite androidSum不同的行内连接sqlite android
【发布时间】:2014-04-23 13:08:06
【问题描述】:

我的问题: 我有 3 个表,用户、借方和 user_list。我需要在单个查询中(因为我在 android 上使用光标),最好不要使用 rawQuery 来获取 user.name 以及与状态 = 1 的用户相关联的所有借方的总和。

例如:

User                      Debit                          User_List

id   |  name              user_id    |   value        user_id    |    status

1    | John               1          | 10.23           1                1
2    | Marie              1          | 22              2                1
                          2          | 2333

当状态等于 1 时,它应该返回如下内容:

name     value

John     32.23
Marie    2333

到目前为止我做了什么:

SELECT (select SUM(debit_value) from debits where debit_status = 0) AS user_balance, user_name AS user_name, status, users.user_id AS user_id, _id FROM users INNER JOIN users_listview ON users.user_id = users_listview.user_id WHERE (status = ?) GROUP BY users._user_id

谢谢!

【问题讨论】:

  • select name,sum(debit_value) from user,debit group by user.user_id having debit.user_id = user.id; 怎么样?
  • @Kedarnath 我认为您的查询将在group by 子句中失败
  • 对不起,我忘了说我有第三张桌子!但我设法使它工作!谢谢大家帮助我!

标签: android database sqlite sum android-cursor


【解决方案1】:

使用下面的查询

select User.name, sum(Value) from User inner join Debit
on User.id=Debit.userid
Group by User.name

【讨论】:

    【解决方案2】:

    试试这个,

    SELECT U.NAME,SUM(COALESCE(D.VALUE,0)) AS TOTAL_VALUE FROM USER U LEFT OUTER JOIN  DEBIT D ON U.ID=D.USER_ID GROUP BY U.NAME
    

    【讨论】:

      【解决方案3】:

      我的最终查询:

      SELECT SUM(debit_value) AS user_balance, user_name AS user_name, status, users.user_id AS user_id, users.user_id AS _id FROM users INNER JOIN users_listview ON users.user_id = users_listview.user_id INNER JOIN debits ON users.user_id = debit_to WHERE (status = ?) GROUP BY debit_to
      

      谢谢大家!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-09-15
        • 1970-01-01
        • 1970-01-01
        • 2014-06-19
        • 2017-02-23
        • 2011-01-13
        • 1970-01-01
        相关资源
        最近更新 更多