菜鸟问题,希望大家帮帮忙。存储过程转化SQL语句。
现有的存储过程,但我不想用它了,想把它转化成SQL语句直接执行。
CREATE procedure usp_tuijian_index as
SELECT dbo.tbltrainclass.name, dbo.tbltrainclass.id, dbo.tbltrnclasspic.path,
dbo.tblcompany.name AS compname
FROM dbo.tbltrainclass INNER JOIN
dbo.tbltrnclasspic ON dbo.tbltrainclass.id = dbo.tbltrnclasspic.trainid INNER JOIN
dbo.tblcompany ON dbo.tbltrainclass.userid = dbo.tblcompany.id
WHERE (dbo.tbltrainclass.shenhe = 1) AND (dbo.tbltrainclass.tuijian = 1) AND
(dbo.tbltrnclasspic.tjid = 1)
GO
转化完成后
"SELECT tbltrainclass.name,tbltrainclass.id,tbltrainclass.path FROM tbltrainclass INNER JOIN tbltrnclasspic ON tbltrainclass.id=tbltrnclasspic.trainid INNER JOIN tblcompany ON tbltrainclass.userid=tblcompany.id WHERE (tbltrainclass.shenhe=1) AND (tbltrainclass.tuijian=1) AND (tbltrnclasspic.tjid=1)"
但总是报错!
请大家帮帮我呀!
问题点数:0、回复次数:8Top
1 楼hjz2000()回复于 2004-09-03 13:51:02 得分 0
报错内容
[Microsoft][ODBC Microsoft Access Driver] 语法错误 (操作符丢失) 在查询表达式 'tbltrainclass.id=tbltrnclasspic.trainid INNER JOIN tblcompany ON tbltrainclass.userid=tblcompany.id' 中。
/edu/index.asp,行72
数据库没有问题,因为以前用存储过程显示是正确的。Top
2 楼yesterday2000(一笑而过)回复于 2004-09-03 13:51:05 得分 0
SELECT tbltrainclass.name,tbltrainclass.id,tbltrainclass.path FROM tbltrainclass INNER JOIN tbltrnclasspic ON tbltrainclass.id=tbltrnclasspic.trainid INNER JOIN tblcompany ON tbltrainclass.userid=tblcompany.id WHERE (tbltrainclass.shenhe=1) AND (tbltrainclass.tuijian=1) AND (tbltrnclasspic.tjid=1)Top
3 楼zjcxc(邹建)回复于 2004-09-03 13:51:35 得分 0
报什么错?Top
4 楼zjcxc(邹建)回复于 2004-09-03 13:54:08 得分 0
没发现有什么错误,你放到查询分析器中去执行Top
5 楼hjz2000()回复于 2004-09-03 14:21:44 得分 0
查询分析器中执行时是对的,但放到程序里就报错内容
[Microsoft][ODBC Microsoft Access Driver] 语法错误 (操作符丢失) 在查询表达式 'tbltrainclass.id=tbltrnclasspic.trainid INNER JOIN tblcompany ON tbltrainclass.userid=tblcompany.id' 中。Top
6 楼chump(木人)回复于 2004-09-03 14:29:03 得分 0
是sql server还是access啊?Top
7 楼qiliu(痴心求学)回复于 2004-09-03 14:31:56 得分 0
注意没有写错和前后的空格呀Top
8 楼hjz2000()回复于 2004-09-03 17:30:22 得分 0
语句加括号就正确了,
SELECT tbltrainclass.name,tbltrainclass.id,tbltrnclasspic.path,tblcompany.name as compname FROM (tbltrainclass INNER JOIN tbltrnclasspic ON tbltrainclass.id=tbltrnclasspic.trainid) INNER JOIN tblcompany ON tbltrainclass.userid=tblcompany.id WHERE (tbltrainclass.shenhe=1) AND (tbltrainclass.tuijian=1) AND (tbltrnclasspic.tjid=1)
这样就正确了,4个表连接就错了。以上是3个表的。
Top




