表就不需要列出来了,我把我的SQL跟结果晒出来:
SELECT C.COMPANY_NAME,C.REPRESENTATIVE,C.REGISTERED_CAPITAL FROM COMPANY_T C
LEFT JOIN Managed_Service_Provider M ON C.COMPANY_ID=M.COMPANY_ID
LEFT JOIN TELCOM_CARRIER T ON M.CARRIER_ID=T.CARRIER_ID
WHERE M.CARRIER_ID='100079'结果:
COMPANY_NAME REPRESENTATIVE REGISTERED_CAPITAL
1 山西晋通邮电实业有限公司 贺建兵 伍仟万元
2 山西晋通邮电实业有限公司 贺建兵 伍仟万元
3 山西晋通邮电实业有限公司 贺建兵 伍仟万元
4 山西光远技术有限公司 张晓军 贰仟万元
5 山西众至诚通信传输有限公司 刘占国 贰仟万元
6 太原市天地新通信有限公司 吕建民 贰佰万元前三排明显数据重复的!!求解。。在线等!~先午休下去。。
SELECT C.COMPANY_NAME,C.REPRESENTATIVE,C.REGISTERED_CAPITAL FROM COMPANY_T C
LEFT JOIN Managed_Service_Provider M ON C.COMPANY_ID=M.COMPANY_ID
LEFT JOIN TELCOM_CARRIER T ON M.CARRIER_ID=T.CARRIER_ID
WHERE M.CARRIER_ID='100079'结果:
COMPANY_NAME REPRESENTATIVE REGISTERED_CAPITAL
1 山西晋通邮电实业有限公司 贺建兵 伍仟万元
2 山西晋通邮电实业有限公司 贺建兵 伍仟万元
3 山西晋通邮电实业有限公司 贺建兵 伍仟万元
4 山西光远技术有限公司 张晓军 贰仟万元
5 山西众至诚通信传输有限公司 刘占国 贰仟万元
6 太原市天地新通信有限公司 吕建民 贰佰万元前三排明显数据重复的!!求解。。在线等!~先午休下去。。
Managed_Service_Provider和TELCOM_CARRIER分别是子表和孙表。
中间肯定是1:M的关系,
所以在Select出来的结果,就是多条了呗。最简单,也是最不负责的做法是在select后面加distinct,要么,仔细研究业务,写成正确的SQL。
问题在于表没有主键或者主键由多个列组成
SQL功底还真拿不出来改天恶补一下。。