你之所以A显示多个是因为B或C有多个对应A的相同AID但内容不相同的情况
如 A: 1,ab
B: 1,bc,1
2,bd,1
C: 1,cd,1
2,ce,1
3,cf,1
这样为了全部显示B和C的内容,必然要重复显示A的AID
你的所谓只用左连接本身就有问题,首先你不会确定A、B、C的记录大小,用左连接必然是错的结果,你可以把问题再描述清楚,想要的结果写出来,这样才能解决问题
Select A.ID,A.NAME, B.ID,B.NAME,C.ID,C.NAME
From A
Left Join B
On A.ID=B.AID
Left Join C
On A.ID=C.AID
第一个Left Join:
LEFT JOIN 关键字会从左表 (A) 那里返回所有的行,即使在右表 (B) 中没有匹配的行。
第二个Left Join:
LEFT JOIN 关键字会从左表 (A) 那里返回所有的行,即使在右表 (C) 中没有匹配的行。
若数据比较多,建议B,C表建立关于字段AID的索引