我有两个select语句,我想通过它们的公共列加入它们:
第一个查询:
通过self_code从obj_port组中选择self_code作为“ DSLAM_code”,count(self_code)作为“ Registered”;
输出:
+------------+------------+
| DSLAM_code | Registered |
+------------+------------+
| 10000 | 317 |
| 10001 | 344 |
| 10002 | 93 |
+------------+------------+
第二个查询:
选择substring_index(dslamportid,“:”,1)作为DSLAM_code,
count(substring_index(dslamportid,“:”,1))从radacct激活为
dslamportid像'%:%'一样由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组左联接(选择
substring_index(dslamportid,“:”,1)作为dslam,
count(substring_index(dslamportid,“:”,1))作为radacct的计数,其中
类似于'%:%'的dslamportid,由substring_index(dslamportid,“:”,1))B分组
在A.self_code = B.dslam;
我得到语法错误:
错误代码:1064。检查
与您的MySQL服务器版本相对应的手册
在“左连接”附近使用的语法(选择
substring_index(dslamportid,“:”,1)作为dslam,count(substring_'行)
2
预先感谢亲爱的社区!
最佳答案
好的,我找到了一种方法:
选择a.DSLAM_code,a。已注册,b.active从(选择self_code
作为'DSLAM_code',从obj_port组将count(self_code)作为'Registered'
通过self_code)左联接(选择
substring_index(dslamportid,“:”,1)作为DSLAM_code,
count(substring_index(dslamportid,“:”,1))从radacct激活为
dslamportid像'%:%'一样由substring_index(dslamportid,“:”,1))b分组
在a.dslam_code = b.dslam_code;上