在MySQL中,从两个差异表中选择并计数
我在MySQL中有两个表: ___表1 ___表2 如何从表1中选择所有项目,以及从表2中选择总和数据 所需输出应为: 弗雷德=150.00 这就是我迄今为止所尝试的:在MySQL中,从两个差异表中选择并计数,mysql,Mysql,我在MySQL中有两个表: ___表1 ___表2 如何从表1中选择所有项目,以及从表2中选择总和数据 所需输出应为: 弗雷德=150.00 这就是我迄今为止所尝试的: SELECT SELECT SUM(amount) AS amount FROM ___Table2 WHERE ___Table2.link = ___Table1.id, (SELECT * FROM ___Estimates ORDER BY EST_Id DESC) 谢谢。您可以改为按名称分组,但没有说明它是否唯一。
SELECT
SELECT SUM(amount) AS amount FROM ___Table2 WHERE ___Table2.link = ___Table1.id,
(SELECT * FROM ___Estimates ORDER BY EST_Id DESC)
谢谢。您可以改为按名称分组,但没有说明它是否唯一。如果只需要一个用户,请添加where子句以选择该用户:
select name, sum(amount) as 'sum'
from ___Table1
join ___Table2 on ___Table1.id = ___Table2.link
group by ___Table1.id
那些表名太糟糕了,你看不出有多少下划线,而且主键和外键使用相同的名称也是个好主意,因为id是常用的标准。你可以改为按名称分组,但你没有说它是否唯一。如果只需要一个用户,请添加where子句以选择该用户:
select name, sum(amount) as 'sum'
from ___Table1
join ___Table2 on ___Table1.id = ___Table2.link
group by ___Table1.id
这些表名太糟糕了,你光看就看不出有多少下划线,而且主键和外键使用相同的名称也是个好主意,因为id是常用的标准。SELECT
t1.id作为id,
t1.name作为名称,
IFNULL SUM t2.amount,0作为帐户
从…起
___表2 t2
在t2.link=t1.id上右连接表1 t1
分组
t2.link
选择
t1.id作为id,
t1.name作为名称,
IFNULL SUM t2.amount,0作为帐户
从…起
___表2 t2
在t2.link=t1.id上右连接表1 t1
分组
t2.link
否。我需要在表1上循环,并获得表2中具有相同id/link.No的项的总和。我需要在表1上循环,并得到表2中具有相同id/链接的项的总和。很好,您共享了您尝试的内容。告诉我们结果是什么也很有帮助。在本例中,语法错误。这是参考文档,在您的情况下,您只需查找SELECT_expr[,SELECT_expr]。。。[FROM table_references[GROUP BY{col_name]很好,您分享了您的尝试。告诉我们结果是什么也很有帮助。在这种情况下,语法错误。这是参考文档,在您的情况下,您只需查找SELECT_expr[,SELECT_expr]…[FROM table_references[GROUP BY]{col_name此查询是非法的,因为选择列表中未聚合的t1.name列未出现在中。您是对的!是否有效:按t1.id分组,t1.name此外,使用左联接与右联接不同,没有意义。将条目99“John”添加到表1并查看结果。我更改了它,它应该是正确的。此查询是非法的,因为选择列表中未聚合的t1.name列未出现在中。您是对的!这是否有效:按t1.id,t1.name分组。此外,使用左连接与右连接不同,没有意义。将条目99“John”添加到表1中并查看结果。我更改了它,它应该是对的
select name, sum(amount) as 'sum'
from ___Table1
join ___Table2 on ___Table1.id = ___Table2.link
group by ___Table1.id