关于access sql查询多表的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于access sql查询多表的问题相关的知识,希望对你有一定的参考价值。
bumenb,vmyxxsycx,vmtjxxcx,sbzscxtt里四个表查询 sql="SELECT bumenb.zu, vmyxxsycx.fs, vmytjxxcx.sb,sbzscxtt.sbs FROM bumenb left join vmytjxxcx on vmytjxxcx.id = bumenb.id left join vmyxxsycx on vmyxxsycx.zu=bumenb.zu left join sbzscxtt on sbzscxtt.dwid=bumenb.id where bumenb.id<>5 order by vmyxxsycx.fs desc" 运行后提示: Microsoft JET Database Engine '80040e14' 语法错误 (操作符丢失) 在查询表达式 'vmytjxxcx.id = bumenb.id inner join vmyxxsycx on vmyxxsycx.zu=bumenb.zu inner join sbzscxtt on sbzscxtt.dwid=bumenb.id' 中,不知道错误在哪里。inner join 是后来改的
参考技术A access数据库项目中,做外连接时,发现Access不支持两个以上的left
join
在网上查一下,有哥们说每个
left
join
要加
()
在修改之前(不能执行,ms
sql
里执行以通过)
select
table1.fildes1,
table1.fildes2,table2.fildes1,
table2.fildes2,table3.fildes1,
table3.fildes2
from
table1
left
join
table2
on
table1.fildes1=
table2.fildes1
left
join
table3
on
table1.fildes1=
table3.fildes1
修改之后(执行通过)
每个
left
join
要加
()
select
table1.fildes1,
table1.fildes2,table2.fildes1,
table2.fildes2,table3.fildes1,
table3.fildes2
from
((table1
left
join
table2
on
table1.fildes1=
table2.fildes1)
left
join
table3
on
table1.fildes1=
table3.fildes1
ACcess里面有一个查询先语句先在那里通过了,再放程序里
Linq to SQL 的连表查询(转)
关于数据库的查询中经常需要用到多表的连接查询,这里就简单地展示关于linq的查询功能。 1、单表的查询 [csharp] view plain copy var query = from tc in db.tbClass where tc.ClassID == "1" //查询表tbClass select new { ClassID=tc.ClassID, ClassName=tc.ClassName } 2、多表内连接查询 [csharp] view plain copy var query = from s in db.tbStudents join c in db.tbClass on s.ClassID equals c.ClassID where s.ClassID == 3 select new { ClassID = s.ClassID, ClassName = c.ClassName, Student = new { Name = s.Name, StudentID = s.StudentID } }; 内连接与SqL中inner join一样,即找出两个序列的交集。 3、外连接 [csharp] view plain copy var query = from s in db.tbStudents join c in db.tbClass on s.ClassID equals c.ClassID into tbC from tbCw in tbC.DefaultIfEmpty() where s.ClassID == 3 select new { ClassID = s.ClassID, ClassName = tbCw.ClassName, Student = new { Name = s.Name, StudentID = s.StudentID } }; 注意点在与外连接的时候 from外接表的时候需要进行into到新的变量中,然后进行调用DefaultIfEmpty()方法。
以上是关于关于access sql查询多表的问题的主要内容,如果未能解决你的问题,请参考以下文章