我目前正在尝试从Android Studio上的SQLite数据库中检索一些数据,但我在尝试检索我需要的数据时遇到问题,如果有人可能需要一些时间来帮助我,我将非常感激。如果有人愿意,我目前在SQL Fiddle上设置了所有内容。我还创建了一个私人聊天室,可以实时聊天以更快地解决问题。
对于任何不想加入聊天室但想要使用SQL Fiddle的人来说,我要做的就是做两件事。请阅读下面的数据库模式。
我正在尝试检索费用以及该费用中涉及的人员名称。令我困惑的是,从1到3人可以参与费用。我在ListView中显示每个费用,并希望在费用名称和金额后显示涉及人员的名称。但是我根据所涉及的人数多次检索费用名称和金额。 ListView的示例输出。
Rent | 480 | Tim, Bob, Joe
Takeaway | 20 | Tim, Joe
Damages | 50 | Bob, Joe
正如您所看到的,我尝试检索的数据并不总是一样。
我有一个活动,我显示每个人的名字和他们拥有的总金额,但想象一下,我们只有一个费用,例如,当显示每个人欠多少时,它显示
Tim: 480
Bob: 480
Joe: 480
当他们被分成160,160,160时。希望我有意义。因此,有两个SQL语句,一个用于上面提到的每个要求。 SQL Fiddle首先包含了我对SQL语句的尝试。
SQL小提琴链接:http://sqlfiddle.com/#!9/392431/1
答案 0 :(得分:-1)
这适用于SQL-Server。
SELECT e.*
, p.name
, CAST(e.amount/COUNT(p.pid) OVER (PARTITION BY e.eid) AS MONEY) AS EachPerson
FROM peoplexpenses pe
INNER JOIN people p
ON pe.pid = p.pid
INNER JOIN expenses e
ON pe.eid = e.eid
请不要在任何地方使用TEXT数据类型。如果您将来需要GROUP BY名称或月份,它将无法工作。