+ -
当前位置:首页 → 问答吧 → 为什么显示语句错误?请大侠们帮我解决一下。

为什么显示语句错误?请大侠们帮我解决一下。

时间:2011-12-13

来源:互联网

sSql = "Select * 表1.ID as aa,表1.Name as bb,表1.Title as cc,表1.ClassID as dd,表1.KeepSecret as ee,表1.CreateDateTime as ff,表2.MID as gg From 表1,表2"
  Rs.Open sSql, oConn, 1, 1

  为什么显示语句错误?
  用上面的打开表方式,下面的语句能调用吗: oRs("表2.MID")=oRs("表1.ID") 
  因为是新手,所以请高手指点一下。

作者: scbzpc   发布时间: 2011-12-13

Select * 表1.ID

这里的 * 不应该存在吧!去掉看看,另外from 表后是不是要有两表的连接条件,不然会笛卡尔积。

作者: AcHerat   发布时间: 2011-12-13

不能.
只能调用到列名:
oRs("MID")=oRs("ID") 
因此,一个查询中 select 列表中的列名不要重复.

作者: qianjin036a   发布时间: 2011-12-13

sSql = "Select 表1.ID as aa,表1.Name as bb,表1.Title as cc,表1.ClassID as dd,表1.KeepSecret as ee,表1.CreateDateTime as ff,表2.MID as gg From 表1,表2"
  Rs.Open sSql, oConn, 1, 1

oRs("gg")=oRs("aa")  

但显示
  Rs.Open sSql, oConn, 1, 1 这行有错误。

作者: scbzpc   发布时间: 2011-12-13

引用 1 楼 acherat 的回复:
Select * 表1.ID

这里的 * 不应该存在吧!去掉看看,另外from 表后是不是要有两表的连接条件,不然会笛卡尔积。


谢谢,若是加判断应该加什么好呢?

作者: scbzpc   发布时间: 2011-12-13

sSql = "Select 表1.ID as aa,表1.Name as bb,表1.Title as cc,表1.ClassID as dd,表1.KeepSecret as ee,表1.CreateDateTime as ff,表2.MID as gg From 表1,表2 where 表2.MID is null Order By 表1.ID DESC"

这种我也试过,但说有错。请指教。

作者: scbzpc   发布时间: 2011-12-13

单独在SSMS里执行这一句咯,直到执行正确再写进代码里.
SQL code

Select 表1.ID as aa,表1.Name as bb,表1.Title as cc,表1.ClassID as dd,表1.KeepSecret as ee,表1.CreateDateTime as ff,表2.MID as gg From 表1,表2 where 表2.MID is null Order By 表1.ID DESC

作者: ap0405140   发布时间: 2011-12-13