1/ 我们先假设数据库有两张表 table1 和 table2 它们中都有一个 tID 字段且值都相等。就是说这两个表依据 tID 相互关联,并且table1 里有 t1Txt 的字符型字段, table2 里有个 t2Name 字符型字段。
2/ 我们确定程序执行后想要达到的目地,就是找出 t2Name 等于 '我容易么我' 的数据并打输出 t1Txt 里的内容
先来看 ACCESS 语法如何写
sql = "SELECT * FROM table1 INNER JOIN table2 ON table1.tID = table2.tID where table2.t2Name = '我容易么我' "
Set rs = Server.create………………………………………………省略
rs.Open sql, conn,1,1
Response.write(rs("t1Txt")) '输出到浏览器
如果你要输出两个标共有的同名字段那么因该写 表明.字段名 这样的格式
比如这里我们输出 tID 这个字段两表都有,且数据相同,那么我们直接打印
Response.write(rs("tID")) 是错误的,正确的应该是
Response.write(rs("tabel1.tID")) 或者 Response.write(rs("tabel2.tID")) 都是一样的
我们再看 MS SQL 语句的写法
同样实现上述目的 sql 则是
sql = "SELECT * FROM table1 AS a INNER JOIN table2 AS b ON a.tID = b.tID where b.t2Name = '我容易么我' "
Set rs = Server.create………………………………………………省略
rs.Open sql, conn,1,1
Response.write(rs("t1Txt")) '输出到浏览器
看的出,关联语句并无太大变化,只是SQL需要利用 AS 给两个表建立别名
这里我们输出 tID 这个字段两表都有,且数据相同,那么我们直接打印Response.write(rs("tID")) 就是正确的,这里也可access有区别
此外ACCESS 数据库的逻辑型字段里 值 是 true 或 false 而 SQL的逻辑bit型字段取值是 1 或 0
qq.com