我有一个包含3个表的SQLite数据库。这些表中的每一个都有两列:名称和值,以便所有表具有相同的记录(名称)但不同的值。如何选择跨越这些表的最小值之和的记录,以使记录名称是唯一的?
名字:Steven,Jamie,Michael,Jordan,Gary
值
(按名称顺序)
表1:1,2,3,4,5表2:2,3,1,5,6
表3:9,0,2,11,3输出应该返回(Steven,Michael,Jamie),因为在这种情况下,值的总和将等于2,这是最不可能的。
答案 0 :(得分:0)
注意:由于我英语不好,我可能没有理解这个问题..
如果要在表格中选择,可以使用“union”并对这些记录求和。
如下所示?
select name, min(value) as value from
(
select name,sum(value) as value from
(
select name,value from tableA
union select name,value from tableB
) x group by name
union select name,sum(value) as value from
(
select name,value from tableB
union select name,value from tableC
) x group by name
union select name,sum(value) as value from
(
select name,value from tableA
union select name,value from tableC
) x group by name
) z
group by name
order by value
limit 3;