Access交流中心

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

请教一个查询语句或方法

狮子炎王  发表于:2017-12-08 19:48:20  
复制

点击下载此附件


附件有数据库小样

 

Top
狮子炎王 发表于:2017-12-08 20:44:43

我只会分两次查询,表的名字是“原版”


先建一个查询名字为“开头是2-


SELECT 原版.*
FROM 原版
WHERE (((Left([部门],2))="2-"));


再建一个查询

SELECT 原版.*
FROM 原版 INNER JOIN [开头是2-] ON 原版.品名=[开头是2-].品名
WHERE (((原版.品名)=[开头是2-].品名));


老师们能不能把两个查询语句合为一个?谢谢了




仙来 发表于:2017-12-09 10:42:16
SELECT 原版.*
FROM 原版 INNER JOIN (SELECT 原版.* FROM 原版 WHERE (((Left([部门],2))="2-")))  AS [开头是2-] ON 原版.品名=[开头是2-].品名
WHERE (((原版.品名)=[开头是2-].品名));

狮子炎王 发表于:2017-12-09 12:10:47
太感谢仙来老师了,因为会有像“板栗”一样出现“2-”开头的两个不同部门,
板栗2-3
板栗2-1
结果会出现4个板栗,我在仙来老师语句上加了个去重复的,得到满意结果
SELECT 原版.*
FROM 原版 INNER JOIN (SELECT DISTINCT 品名 FROM (SELECT 原版.* FROM 原版 WHERE (((Left([部门],2))="2-"))))  AS [开头是2-] ON 原版.品名=[开头是2-].品名
WHERE (((原版.品名)=[开头是2-].品名));

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