北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |
今天学习煮江品茶老师的【access小品】趣谈子查询http://www.accessoft.com/article-show.asp?id=4429
首先把”基础查询“代码里的表名改成表的别名:卡片 AS A,期初 AS B, 收料 AS C,发料 AS D
修改后的代码为:SELECT A.物资ID,A.名称,B.日期,B.期初,0 as 收料,0 as 发料 FROM 卡片 AS A INNER JOIN 期初 AS B ON A.物资ID =B.物资ID
union all
SELECT A.物资ID,A.名称,C.日期,0 AS 期初,C.收料,0 AS 发料 FROM (卡片 AS A INNER JOIN 期初 AS B ON A.物资ID = B.物资ID) INNER JOIN 收料 AS C ON A.物资ID =C.物资ID
UNION ALL SELECT A.物资ID,A.名称,D.日期,0 AS 期初,0 AS 收料,D.发料 FROM (卡片 AS A INNER JOIN 期初 AS B ON A.物资ID = B.物资ID) INNER JOIN 发料 AS D ON A.物资ID =D.物资ID
ORDER BY 物资ID, 日期;
运行结果正常!
然后在做”新查询1“,代码为:SELECT a.日期, a.物资ID, a.名称, a.期初, a.收料, (select sum(b.收料) from 新基础查询 as b where b.物资ID=a.物资ID and b.日期<=a.日期) AS 收料累计, a.发料, (select sum(b.发料) from 新基础查询 as b where b.物资ID=a.物资ID and b.日期<=a.日期) AS 发料累计
FROM 新基础查询 AS a;
不能正常运行,总出现错误:输入参数a.日期,而把代码中”新基础查询“改成”基础查询“又运行正常,为何?是不是表名和别名有区别呢?