Access交流中心

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

同一表中子查询条件中字段名前加不加表名问题

清清之水  发表于:2010-01-09 10:38:26  
复制

俺是菜鸟。向各位大侠求教:查询

SELECT *
FROM sales AS a
WHERE totmat=(select max(totmat) from sales where name=a.name)

中红字部分为何一个加表名,另一个不加。俺试着都加或不加,结果都不对。请大侠不吝指教。先行谢谢!

点击下载此附件

 

Top
清清之水 发表于:2010-01-10 11:39:47

没人回帖,郁闷。



wang decheng 发表于:2010-01-10 12:48:16

请问查询想得到什么效果?



清清之水 发表于:2010-01-10 21:44:56
谢谢丹阳的朋友。想查询得到不同name人totmat值最大的行,如表中查询一所示。

wang decheng 发表于:2010-01-10 22:55:50
请看查询3,是不是你所需要的点击下载此附件

清清之水 发表于:2010-01-11 21:56:41

再次感谢wang decheng老师!查询3 是我要的结果。我主要是想学习子查询公式的用法和含义。谢谢您一直关注我的帖子。

我猜想:where name=a.name 中前一个name是子查询中引用的表salse中的字段,后一个是外查询语句引用的表salse中的字段。这是相关子查询。



wang decheng 发表于:2010-01-12 08:18:01

没有使用where name=a.name ,似乎不需要



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