日期:2014-05-16  浏览次数:20763 次

access 连个表按多字段 左右连接的问题
access中如何两个表 按两个字段进行左连接

比如 有两个表分别为
t1
id, lb1 ,value1
1 201 1
2 202 1
2 202 1.5
表2:t2
id ,lb2 ,value2
1 201 2.5

我想两个表连接,按 id,lb两个字段按t1连接,
 得到如下结果
t1.id,t2.id,t1.lb1,t2.lb2,t1.value1,t2.value2
1 1 201 1 2.5
2 201 1
2 202 1.5 

怎么实现呢

------解决方案--------------------
select * 
from t1 left join t2 on t1.id=t2.id and t1.lb1=t2.lb2
------解决方案--------------------
探讨
不好意思,我这边只有一些涉密数据,
我的意思是说,我用了 7楼这样的查询语句得到的结果 是 在连表连接时的 and 好像并没有起到 两个字段值相与的作用,好像是个相 或  作用,如果 t2里面 ,lb2字段有重复的,会得出很多没用的记录来

------解决方案--------------------
让你提供一个测试用MDB文件,又不是让你上传你的实际数据。 通过举列来说明你的问题就行!

举出例子来说明7的语句在什么情况无法满足你的要求!

我的测试结果如下,完全符合你的要求!!!
http://www.access911.net/csdn/FileDescription.asp?mdb=2010-1-29&id=54&mode=3
------解决方案--------------------


楼主能贴出 #7楼 的SQL语句对应你#11楼 测试数据产生的结果吗?! 有测试过吗?!
------解决方案--------------------
用11楼数据
select * from t1 left join t2 on t1.id=t2.id and t1.lb1=t2.lb2

应该可以,结果是什么
------解决方案--------------------
贴有问题的数据
------解决方案--------------------
to 楼主,

你的 #7楼 语句针对你#11楼  结果是什么,然后指出哪儿不满足你的需求。

这已经是第二次问你这个问题了。 (见#12楼)