为什么我在更改mysql查询中的参数时出现连接错误

时间:2012-04-20 19:37:13

标签: mysql

我喜欢加入3个表来获取数据: table1中的必填字段 来自table2的record_count 表3的总和(金额)

我使用以下查询:

select a.cde,a.name,count(b.TransID) as t_cnt, 
       sum(c.Amt) as c_sumofamt 
from table1 a 
inner join table2 b 
    on a.cde=b.cde 
inner join table3 c 
    on a.cde=c.cde 
where a.Bcde='TVM' GROUP BY a.cde;

注意:它的工作正常(如果a.Bcde='TVM'),而不是任何其他branch_code“Bcde

TVM的记录很少(只有40条记录)

但如果我给(where a.Bcde='CBE')它不起作用 - 花费很长时间并给予康恩。 ERR。

为了您的信息,它有更多的记录:

6000+ records in table1
50000+ records in table2
100000+ records in table3

如何处理这种情况? 期待您的宝贵回复。

的问候, 森萨。

1 个答案:

答案 0 :(得分:0)

首先,我要感谢大家在这篇文章中花费宝贵的时间。

我在另一个论坛的人的帮助下得到了解决方案。

解决方案是:

select a.cde,a.name,count(b.TransID) as t_cnt, 
       sum(c.Amt) as c_sumofamt 
from table1 a 
inner join table2 b 
    on a.cde=b.cde 
inner join table3 c 
    on 
  

b.cde = c.cde

where a.Bcde='TVM' GROUP BY a.cde;

注意第二个内部联接。他们建议我从第二桌到第三桌加入 - 现在工作正常。

但我不知道如果我使用的是什么区别:a.cbe = c.cde而不是b.cde = c.cde?

如果有人知道请与我分享。

期待您在这方面的宝贵回复。