Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

表1中的会员在表2中有的返回表2的金额,如果没有返回0

叫我峰峰哥  发表于:2017-03-03 16:55:35  
复制

早上的帖子表达不够确切,我重新再发一下,求教各位大侠。

表1、

表2、

最终需要的结果:表3、

逻辑:表1中的会员在表2中有的返回表2的金额,如果没有返回0

自己写的:
SELECT 表1.会员 AS 会员, IIF(表1.会员=表2.会员,表2.手环金额,0) AS 手环金额 from 表1,表2
结果如果后面加了where语句连接,那就只能出现表1=表2的那两条记录,如果不加就出来很多,明显不对。
麻烦高手帮忙写下程序,感谢!



 

Top
叫我峰峰哥 发表于:2017-03-03 18:03:08

这个问题已经找到解决办法了。


现在再问个问题    表1 想 连几个表 怎么连  都是表1的某些列=其余几个表的某一列   用left join


感谢



MDZZ 发表于:2017-03-03 20:44:01
深入浅出SQL之左连接、右连接和全连接[Access软件网] http://www.accessoft.com/article-show.asp?id=1395

叫我峰峰哥 发表于:2017-03-06 11:32:59

感谢管理员,基本懂了,现在碰到一个问题,left join  连接多表的时候出现语法错误,然而分开来单独运行的时候都正常,麻烦帮忙看下?

SELECT T1.会员编号 AS 会员编号, IIF(T1.销售日期<#2016/5/1#,1,IIF([T1].[名称(1)]=[卡种年限].[卡种名],[卡种年限].[卡种],0) AS 卡种, IIF([T1].[销售日期]<#2016/1/1#,0,IIF([手环].[字段2]=[T1].[会所]&[T1].[CMDOCO],[手环].[金额],0)) AS 手环金额
FROM (select *from [Sheet1$] IN "D:\Users\peifeng.huang\Desktop\会籍直线法 - access测试用.xlsx" "EXCEL 8.0;"
)  AS T1 LEFT JOIN [手环] ON T1.[会所]&T1.[CMDOCO]=[手环].[字段2] LEFT JOIN [卡种年限] ON T1.[名称(1)]=[卡种年限].[卡种名]



叫我峰峰哥 发表于:2017-03-06 11:42:55
自己已解决,连接多表,忘了前面加括号了

总记录:4篇  页次:1/1 9 1 :