一行中的总列数,并将该总数添加到使用一个查询在另一个表中找到的行数

时间:2018-06-16 23:15:31

标签: mysql

我已经table Atable B

table A有三列:iddata1data2

table B有两列:post_idcomment_idpost_id包含id的{​​{1}}列表。

我希望将table Adata1加在一起,然后将该结果添加到包含data2的{​​{1}}中的行数。

如何通过单个查询实现此目的?

更新以下是一些不起作用的伪代码,但应该明确我要实现的目标:

table B

2 个答案:

答案 0 :(得分:0)

将b中的计数推送到类似

的子查询中
select a.id , a.data + b.data + (select count(*) from b where b.post_id = a.id) total
from a 

如果“不起作用”,请将样本数据和预期输出作为文本添加到问题中。

答案 1 :(得分:0)

好的,明白了:

select id, (a.data1 + b.data2 + count(id)) as total from posts INNER JOIN comments on id = post_id group by id, a.data1, a.data2 order by total asc;

相关问题