我有两个select语句,我希望通过它们的公共列加入它们:
第一次查询:
选择self_code为' DSLAM_code',将(self_code)计数为'已注册'来自obj_port group by self_code;
输出:
+------------+------------+
| DSLAM_code | Registered |
+------------+------------+
| 10000 | 317 |
| 10001 | 344 |
| 10002 | 93 |
+------------+------------+
第二次查询:
选择substring_index(dslamportid,":",1)作为DSLAM_code, count(substring_index(dslamportid,":",1))作为活动来自radacct dslamportid喜欢'%:%' group by substring_index(dslamportid,":",1);
输出:
+------------+--------+
| DSLAM_code | Active |
+------------+--------+
| 10000 | 265 |
| 10001 | 299 |
| 10002 | 83 |
+------------+--------+
我尝试使用以下查询加入两个输出表,但未成功:
选择A.self_code为' DSLAM_code',A.count(self_code)为'已注册' 来自obj_port一个由F.self_code组成的团队离开了加入(选择 dstring,substring_index(dslamportid,":",1) count(substring_index(dslamportid,":",1))作为radacct的计数 dslamportid喜欢'%:%' group by substring_index(dslamportid,":",1))B 在A.self_code = B.dslam;
我得到语法错误:
错误代码:1064。您的SQL语法有错误;检查 手册,对应右边的MySQL服务器版本 在左边连接附近使用的语法(选择 substring_index(dslamportid,":",1)as dslam,count(substring _' at line) 2
先谢谢亲爱的社区!
答案 0 :(得分:0)
好的,我找到了办法:
从(选择self_code)中选择a.DSLAM_code,a.Registered,b.active 作为'DSLAM_code',从obj_port组计数(self_code)为'Registered' 通过self_code)左连接(选择 substring_index(dslamportid,“:”,1)作为DSLAM_code, count(substring_index(dslamportid,“:”,1))作为活动从radacct在哪里 dslamportid喜欢'%:%'group by substring_index(dslamportid,“:”,1))b 在a.dslam_code = b.dslam_code;