如何从另一个mysql表插入数据

nqwrtyyt  于 2021-06-19  发布在  Mysql
关注(0)|答案(1)|浏览(237)

关闭。这个问题需要更加突出重点。它目前不接受答案。
**想改进这个问题吗?**通过编辑这篇文章更新这个问题,使它只关注一个问题。

两年前关门了。
改进这个问题
我有一个“会员”表:

| id | name | inbox | sent |

我有一个“收件箱”表:

| id | from | to | subyek | message |

我还有一张“发送”表:

| id | to | from | subyek | message |

如何用收件箱表和已发送表中的数据量填写成员表中的收件箱和已发送字段?

lsmepo6l

lsmepo6l1#

对于中的现有行 member ,假设 to 以及 from 中的列 inbox 以及 sent 表包含 id 来自 member 表,然后我们可以从 inbox 以及 sent ,并将计数存储到 member table上有这样的东西:

UPDATE `member` m 
   SET m.inbox = ( SELECT COUNT(1) FROM `inbox` i ON i.to   = m.id )
     , m.sent  = ( SELECT COUNT(1) FROM `sent`  s ON s.from = m.id )

这个例子是在做各种毫无根据的假设。。。什么是“数据量”,收件箱和发送到成员表的表之间的关系。。。
没有示例数据和预期的最终结果,我们只是猜测规范,我们提出的任何sql都只是猜测。
当合适的索引不可用时,在大型集合上相关子查询的性能可能会有问题。还有其他一些查询模式可以实现相同的结果。

相关问题