注册 登录
编程论坛 ASP技术论坛

请问是SQL 语句哪里出错?

huade 发布于 2008-08-04 16:18, 1436 次点击
<%
set rs=server.CreateObject("ADODB.Recordset")
sql="select cpxh_name_cht from MS_MainCatalog,MS_catalog,MS_products where MS_products.mctl_id = MS_MainCatalog.mctl_id  and    MS_products.ctl_id = MS_catalog.ctl_id " '我要后面这三个表的ID都相等的情况下输出 MS_products.cpxh_name_cht
rs.open sql,conn,1,1

while rs.eof
response.Write (rs("cpxh_name_cht"))
wend

rs.close
set rs=nothing
%>

[[it] 本帖最后由 huade 于 2008-8-4 16:23 编辑 [/it]]
10 回复
#2
huade2008-08-04 16:24


都不知道哪里出错了,有请哪位高手指点指点。
#3
octillion2008-08-04 18:54
没有出错提示也该有出错症状吧……
#4
huade2008-08-05 09:45
[bo][un]octillion[/un] 在 2008-8-4 18:54 的发言:[/bo]

没有出错提示也该有出错症状吧……




是没有什么症状,但我记录是有的,怎么会显示一片空白!
#5
huade2008-08-05 09:51
<%
'主表:MS_MainCatalog
'二表:MS_catalog
'三表:MS_products

set rs=server.CreateObject("ADODB.Recordset")
sql="select MS_products.cpxh_name_cht from MS_MainCatalog,MS_catalog,MS_products where MS_MainCatalog.mctl_id = MS_catalog.mctl_id  and   MS_catalog.ctl_id  = MS_products.ctl_id "   '我要后面这三个表的ID都相等的情况下输出 MS_products.cpxh_name_cht
rs.open sql,conn,1,1

while rs.eof
response.Write (rs("cpxh_name_cht"))
wend

rs.close
set rs=nothing
%>
#6
madpbpl2008-08-05 10:23
1.MS_MainCatalog.mctl_id = MS_catalog.mctl_id
2.MS_catalog.ctl_id  = MS_products.ctl_id
感觉条件1和条件2没什么关系,不理解楼主说的后面三个表的id都相等是什么意思

输出你的sql,检查是否正确
#7
huade2008-08-05 10:37
[bo][un]madpbpl[/un] 在 2008-8-5 10:23 的发言:[/bo]

1.MS_MainCatalog.mctl_id = MS_catalog.mctl_id
2.MS_catalog.ctl_id  = MS_products.ctl_id
感觉条件1和条件2没什么关系,不理解楼主说的后面三个表的id都相等是什么意思

输出你的sql,检查是否正确



我的意思是:

主表的ID=二表的ID(二表包括有主表ID) and  二表的ID = 三表的ID(三表包含有主表和二表的ID)

这样就输出三表的某一字段。。。
#8
hahatuzi20002008-08-05 11:24
MS_products.cpxh_name_cht

把表名加上试试呢.

或者三个表连接一下.
用SQL语句.
具体的我也不知道,去搜一下.
#9
leros2008-08-05 22:19
提示的是什么错误?

建议用left join 连接三张表
#10
playgirl2008-08-07 11:07
链接三个表的SQL语句用inner join 比较适合
语法格式: from (表1 inner join 表2 on 表1.字段号=表2.字段号) inner join 表3 on 表1.字段号=表3.字段号
#11
dope20082008-08-07 12:02
SQL语句有没有错,我都是直接在SQL数据库查询分释器那里输入语句,,有一下输出的内容是更否自已想要的,出错也有提示
1