Office中国论坛/Access中国论坛

标题: 在线跪求: 数据的读取与比较 [打印本页]

作者: fjinhao    时间: 2004-4-20 19:37
标题: 在线跪求: 数据的读取与比较
现在碰到一个问题:目前有两个表,一个表的关键字段Function Group为文本格式,里面的已有数据格式: xxx-xx 比如:234-23 ; 另一个表中的相同关键字段Function group也为文本格式,但里面的已有数据格式: xxxx 比如:2345; 现在要作一个查询, 之间的关系是:将这两个表中的关键字段前三位作比较,如果相同的话,就“查询”出来,但不能生成静态的表,我需要动态的,以表1为基准,也就是只能体现在“查询”里. 如有说明不清的,请与我联系:   jinhao.fan@sunwinbus.com
作者: 土豆    时间: 2004-4-20 19:45
SELECT * FROM 表2 WHERE Left(表1.字段X,3)  IN(SELECT Left(表2.字段X,3) FROM  表2)

试试看,未测试
作者: fjinhao    时间: 2004-4-20 21:55
SELECT NC550.*, BOM.*, [Price 100%].*, Left([Price 100%].[Function gr],3)
FROM (NC550 INNER JOIN BOM ON NC550.ID = BOM.ID) LEFT JOIN [Price 100%] ON NC550.[part number] = [Price 100%].[Part no]
WHERE (((Left([Price 100%].[Function gr],3)) In (Left([NC550].[Function group],3))));

谢谢,已实现了三位数字的读取。这是我现在改的原始表,但是我现在又有了一个要求,上述这些语句实现了:1.Price.Function gr= NC550.Function group. 2.Price. part number=NC550.part no.   , 但是我这个查询还有一个要求是:NC550是不能变更的,也就是NC550有1001条记录,查询后还是保留1001项,在操作其他两个表与这个表的关系时,只能将其他两个表的信息添加到NC550的表中去。

作者: fjinhao    时间: 2004-4-20 22:36
SELECT NC550.*, BOM.*, [Price 100%].*
FROM (NC550 INNER JOIN BOM ON NC550.ID = BOM.ID) LEFT JOIN [Price 100%] ON ((Left([Price 100%].[Function gr],3)) In (Left([NC550].[Function group],3))) AND (NC550.[part number] = [Price 100%].[Part no]);

谢谢, 我搞定了,改了一个小地方,特贴出来,大家共享。 但是还有一个小问题,NC550中共有记录1004条,但是我查询完后多了4条。可能数据有点问题,我再查查。





欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3