更新表中的字段,其中包含另一个中的行数

时间:2017-09-15 11:05:29

标签: mysql sql count inner-join

我正在Marketing Cloud中构建一些自定义电子邮件性能报告。我有一个表格,其中包含过去30天内发送的电子邮件列表。它有一个唯一的标识符JobID。它还有一些我希望插入的列,例如打开电子邮件的次数。

JobID   EmailName   Opens
37735   Test Email  

我还有一个表格,其中包含过去30天内发送的所有电子邮件的打开列表(在第一个表格中使用内部联接)。我想用作业号来计算行数。例如,37735,并使用此值填充'打开'在上表中。

JobID  Subscriber  DateOpened
37735  test@test.com  14/09/2017
37735  test2@test.com  14/09/2017

所以从上面开始,我想要一个' 2'在'打开'第一个表的列。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:2)

如果我理解正确,您需要update。如果是这样的话:

update table1 t1
    set opens = (select count(*)
                 from table2 t2
                 where t2.jobid = t1.jobid
                )
    where t1.jobid = 37735;