【问题标题】:mysql update a table with counts of another tablemysql用另一个表的计数更新一个表
【发布时间】:2015-03-01 01:22:47
【问题描述】:

如果您能提供帮助,我将不胜感激。 有两张表,customers 和lead_report

我想从第一列中获取计数并将它们放在第二列的匹配行中。

从leadsource不为空且leadsource !="" group byleadsource的客户中选择leadsource,count(*);

select leadsource,count(*)  from customers where leadsource is not null  and leadsource !="" group by leadsource;

+---------------------+----------+
| leadsource          | count(*) |
+---------------------+----------+
| Show 2014           |        2 |
| Show 2013           |        4 |
| By Me               |        1 |
+---------------------+----------+


select source,leads from lead_report;

+---------------------+-------+    
| source              | leads |
+---------------------+-------+
| Show 2014           |     0 |
| Show 2013           |     0 |
| By Me               |     0 |
+---------------------+-------+



update lead_report leads inner join 
(select leadsource,count(*)  from customers where leadsource is not null    and leadsource !="" group by leadsource)
customers using (leadsource) set lead_report.leads =  customers.leadsource;
ERROR 1054 (42S22): Unknown column 'leadsource' in 'from clause'

【问题讨论】:

    标签: mysql-error-1054


    【解决方案1】:
    update lead_report lr join 
    (select leadsource, count(*) cnt from customers 
    where leadsource is not null  and leadsource !="" group by leadsource) cust
    ON lr.source=cust.leadsource
    SET lr.leads=cust.cnt;
    

    【讨论】:

    • 更新lead_report lr join(从leadsource不为null的客户中选择leadsource,count(*)cnt,leadsource!=""按leadsource分组)cust ON lr.source=cust.leadsource SET lr。线索=cust.cnt;查询正常,0 行受影响(0.01 秒)匹配行:0 更改:0 警告:0
    猜你喜欢
    • 1970-01-01
    • 2014-04-18
    • 1970-01-01
    • 1970-01-01
    • 2014-09-04
    • 2011-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多