求解,一个简单的SQL语句为什么会语法错误,谢谢!
发布网友
发布时间:2022-04-09 10:04
我来回答
共4个回答
热心网友
时间:2022-04-09 11:33
首先需要说明的是,你取得的是@SQL结果集中的最大值,而不是你要的最小值,且引用子查询结果应指明其为中间表,可以随机为其取名如tmptable。完整的语句应该是:
set @mm ='select top 1 * from ('+@SQL +') tmptable order by aa';追问哥们,你的答案和“micro0369”哥们的基本一个意思,也谢谢你哈!
热心网友
时间:2022-04-09 12:51
看不懂楼主这种写的目的。因为我一次也没有这样用过。
想问一下的就是:
DECLARE @SQL varchar(1000);
SET @SQL = N'SELECT TOP 1 [table1].[aa] FROM [table1] JOIN [table2] ON [table1].[bb] = [talbe2].[cc] ORDER BY [Table1].[cc] DESC';
execute @SQL
这与你写的有什么样的差别?为什么还要多写一重声明呢?
就算你想声明,一般我们使用这种方式:
DELCALRE @SQL VARCHAR(1000);
SET @SQL = N'.........';
DECLARE @MM = N'SELECT TOP 1 * FROM ( @SQL )';
EXECUTE @MM,@SQL
但是你写的这种方式是什么个意思呢?
就算回来,你有没有试一下,SELECT TOP 1 * FROM (SELECT ......)这样的语句是否通过呢?
不过据我所知应该是通过的。但这种写法却是极不高明的。建议换一下写法,程序不是这么写的。追问哥们是高手,本来要把我的分页思路讲讲,向哥们请教的。
但是我打了好多字,结果被字数*了,怎么减都提示字数超了,害了搞了老半天啊。
百度知道的*,哪里有一星半点中文问答老大风范呀,*立牌坊了。
CSDN的服务器又是垃圾中的战斗机。
真找不到一个好的程序员交流网站啊,晕了。
不过非常感谢哥们。
哥们是高手,本来要把我的分页思路讲讲,向哥们请教的。
但是我打了好多字,结果被字数*了,怎么减都提示字数超了,害了搞了老半天啊。
百度知道的*,哪里有一星半点中文问答老大风范呀,*立牌坊了。
CSDN的服务器又是垃圾中的战斗机。
真找不到一个好的程序员交流网站啊,晕了。
不过非常感谢哥们。
热心网友
时间:2022-04-09 14:26
set @mm ='select top 1 * from ('+@SQL +') as a';
或者:
set @mm ='select top 1 * from ('+@SQL +') a';追问哥们,你第一个回答的,你的方法,加一个别名就解决,很感谢。
原来一直没关注别名,现在终于知道别名的大作用了,谢谢!
追答呵呵,满意请采纳。
热心网友
时间:2022-04-09 16:17
set @mm ='select top 1 * from ('+@SQL +' ) as tmp';
SQL插入语句存在语法错误
1、SQL函数的拼写出现顺序颠倒、多字和少字的错误;2、SQL函数的常用格式出现错误,包含了中文字符;3、插入列与数据源列数目不一致,导致语法错误;4、插入列与对应数据源列数据类型是否一致,导致语法错误;5、SQL语句中混入了不合法的关键词,导致执行时会出现错误。
下面这句SQL语句哪里错了~提示语法错误(操作符丢失)!!急!!谢谢!
如果是字符型,那么你在执行拼接的时候,左右各缺少了一个单引号。看一下S1和S2两个变量,如果执行完了拼接,拼进去之后,是没有单引号的 就会出现:课程名称=语文 还有 考试地点=教室1 这样的情况,显然是错误的。在S1和S2左右要加上单引号,像教师姓名那个一样,不过不需要百分号了。
求助,SQL语句语法错误
你把语句放到数据库里面执行一下!看有没有关键字因为没有空格出现问题,关键字一般颜色会不一样的!StringBuilder添加语句有时总出现列名和关键字之间没空格的问题,仔细检查一下!容易解决的!
...错误的语法:"XXXX"必须是批处理中仅有的语句 ”报错的原因分析_百 ...
一、报错的原因分析:批处理必须以CREATE语句开始。也就是一个查询分析器里面只有一个批处理语句才是规范的语法。因为CREATE DEFAULT、CREATE FUNCTION、CREATE PROCEDURE、CREATE RULE、CREATE SCHEMA、CREATE TRIGGER和CREATE VIEW语句不能在批处理中与其他语句组合使用。所有跟在该批处理后的其他语句将被解释...
sql查询values语法错误的原因? 如何修改?
select '95003', '张红', '19', '女','物理系' union all select '95004', '王月', '19', '女','物理系' union all select '95005', '吴忠', '20', '男','化学系' union all select '95006', '刘兵', '20', '男','化学系'最后一行第一个字段后面应该是逗号,不是句点 ...
错误信息: Mismatched input x27;1 x27;(line1, pos54)
1. 语法错误:SQL 查询语句的语法错误是最常见的导致该错误的原因。例如,可能存在拼写错误、缺少关键字或运算符等。检查语句的语法是否正确,并确保所有的元素都被正确地编写和组织。2. 引号错误:有时,在 SQL 查询语句中使用引号时,可能会出错。例如,如果引号未正确地闭合,或者引号中包含了其他引号...
sql语法错误怎么办
sql出现语法错误,说明我们在书写时不符合标准要求。解决办法的话建议以下几点。第一、学习标准sql语句,按照“最小化范围”原则,从最简单的sql语句开始,逐渐完善到目标sql语句;第二、sql语句中混入了不合法的关键词解决方法:换个变量名,尽量不要与内置关键词冲突。
以下SQL中语句,为什么老是报错( '*' 附近有语法错误)??
1.count()在和compute by搭配使用时,不允许使用"*"号,必须明确的使用某个字段名.2.compute by的by后面的字段必须是前面order by的by后面的字段之一,且顺序必须相同,比如:如果前面用的是order by a,b,c 那么compute by后面只能是以下三种之一:compute by a,b,c compute by a,b compute by a ...
一条简单的sql查询语句,但是在myeclipse里面老是说top附近有语法错误...
换成这个表达式看看:select from user where username ='abc'top 1 如果这么命令不报错,你再把RS的条件引进去或单独执行,top 1 是MS SQL的习惯吧?对着样本的SQL看看应该有帮助!
sql语法错误原因分析,求帮助?
你的表中有一列是StuID,它是主键,不能为空,必须给一个值 insert into dbo.StuIformation(StuID,[Name],sex,age,adress,grade,[e-mail])values('1111','张三','男',20,'和平南路', 2, 'abc@qq.com')