以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请老师指点一下sql语句,哪里写错了  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=148904)

--  作者:xxfoxtable
--  发布时间:2020/4/18 10:21:00
--  请老师指点一下sql语句,哪里写错了
s elec t a.会员卡号,b.会员姓名,b.手机号,a.充值项目名称,a.金额,a.日期 as 充值日期,a.时间,c.有效期至,a.单号  from {充值主表} as a left JOIN {会员档案} as  b on a.会员卡号=b.会员卡号 left JOIN {充值辅表} as  c on  a.单号=c.单号
--  作者:有点蓝
--  发布时间:2020/4/18 10:29:00
--  
什么数据库?
--  作者:xxfoxtable
--  发布时间:2020/4/18 10:30:00
--  
access
--  作者:有点蓝
--  发布时间:2020/4/18 10:39:00
--  
s elec t a.会员卡号,b.会员姓名,b.手机号,a.充值项目名称,a.金额,a.日期 as 充值日期,a.时间,c.有效期至,a.单号  from ({充值主表} as a left JOIN {会员档案} as  b on a.会员卡号=b.会员卡号) left JOIN {充值辅表} as  c on  a.单号=c.单号
--  作者:xxfoxtable
--  发布时间:2020/4/18 10:42:00
--  
谢谢老师,我用的left join还是有重复记录,是什么原因呢  充值主表,只有三条记录,查询出来6条记录
--  作者:有点蓝
--  发布时间:2020/4/18 11:14:00
--  
正常。不管是什么关联方式,基本都是总行数=左表关联列行数*右表关联列行数。

试试
s elec t distinct a.会员卡号,b.会员姓名,b.手机号,a.充值项目名称,a.金额,a.日期 as 充值日期,a.时间,c.有效期至,a.单号  from ({充值主表} as a left JOIN {会员档案} as  b on a.会员卡号=b.会员卡号) left JOIN {充值辅表} as  c on  a.单号=c.单号