一个关于表的 join 的问题(50分)

  • 主题发起人 主题发起人 大胃王
  • 开始时间 开始时间

大胃王

Unregistered / Unconfirmed
GUEST, unregistred user!
请问
在 SQL 语句里,使用join 语法,或简单的 from table1,table2,table3 where,
是不是输出顺序要和select 字段表的数据一致?
我在asp中,用ado连接数据库。
一旦输出和select 顺序不一样,就发生错误,
敬请达者指点。
 
[8D] 无能为力
 
hehe,你可真行,无能为力就不用说了吧!

继续等待,请指教!
 
没看懂你说什么
 
啊,可能是我说的不明白。
select table1.field1,table1.field2,table1.field3,table1.field4,
table2.fielda,table2.filedb,
table3.field_f1,table3.field_f2
from table1,table2,table3
where ......

在asp里,用ADO连接数据库。
如果按照 select 的字段列表的顺序输出数据表内容就没问题。
但是,如果:
Response.Write objRs("field1")
Response.Write objRs("fielda")
Response.Write objRs("field2") //这行是发生错误的地方。
按照这样的顺序输出,就会发生错误。

谁能帮我解释这个问题,感激不尽。
 
select table1.field1 as field1,table1.field2 as field2,table1.field3 as field3,table1.field4 as field4,
table2.fielda as fielda,table2.filedb as fieldb,
table3.field_f1 as fuekd_f1,table3.field_f2 as field_f2
from table1,table2,table3
where ......

Response.Write objRs("field1")
Response.Write objRs("fielda")
Response.Write objRs("field2")
这样就OK了
 
按照你的写法,但不加表名,只用"as"可以吗?

还有,更重要的,能解释一下,感激不尽,
这才真的重要,是吧!
 
table1.field1 as field1
把TABLE1表的FIELD1字段认作为FIELD1字段
其它的以此类推,
至于FROM以及WHERE是当然要引用表名的
 
这里的as语法,和
select filed1 fieldalias from table where ......
里把"fieldalias"当作"field1"的别名是一样的用法吗?

而且,有一点很重要:不行,我试过了,
还是原来那个样子,没任何好转。

谢谢您的帮忙,还能再帮着想想吗?
 
你好soho,请问哪里还不清楚,需要我继续说明呢?

比如:
set objConn=Server.CreateObject("ADOdb.Connection")
set objRs=Server.CreateObject("ADOdb.Recordset")
objConn.Open connectionString
strSQL=........ //就是上边我写的那句。
objRs.Open strSQL,objConn

然后,如果
Response.Write objRs("field1")
Response.Write objRs("field2")
Response.Write objRs("fielda")
就没问题
Response.Write objRs("field1")
Response.Write objRs("fielda")
Response.Write objRs("field2") //发生错误的行。
就发生错误

请指教。
 
我在JSP中也有类似的问题,那是打开数据库时用的参数不对。在此情形下读了第二条记录
返回去读第一条是办不到的。
给他加上参数,具体参数你查一下帮助吧。就是那种游标可以回滚的那种。
 
你的错误提示是什么
 
to javajsp:
谢谢您的指点。但是好像和游标类型无关吧?
因为,不是读了下一个记录再读上一个记录啊,而是字段。

to 天真:
错误号我忘记了,错误提示好像就是很简单的:error occur。
周一到单位我试一下,在写上来。

谢谢大家费心了,请继续。
 
后退
顶部