Sql server SQL Server Management Studio中的此SQL查询有什么问题?
正在尝试运行此SQL查询,尽管它表示已成功执行,但未返回1个结果。相反,它会像往常一样返回数据库表中的所有行:Sql server SQL Server Management Studio中的此SQL查询有什么问题?,sql-server,database,tsql,Sql Server,Database,Tsql,正在尝试运行此SQL查询,尽管它表示已成功执行,但未返回1个结果。相反,它会像往常一样返回数据库表中的所有行: SELECT * FROM [Philadelphia].[dbo].[mmgusers_tbl] [WHERE UserName = 'testing' LIMIT 1]; 如何更改此选项,使其在执行时只给我一行?尝试此选项 SELECT Top 1 * FROM [Philadelphia].[dbo].[mmgusers_tbl] WHERE UserName = 'test
SELECT * FROM [Philadelphia].[dbo].[mmgusers_tbl] [WHERE UserName = 'testing' LIMIT 1];
如何更改此选项,使其在执行时只给我一行?尝试此选项
SELECT Top 1 * FROM [Philadelphia].[dbo].[mmgusers_tbl]
WHERE UserName = 'testing'
(或)
这是你要找的
SELECT TOP 1 * FROM [Philadelphia].[dbo].[mmgusers_tbl] WHERE UserName = 'testing';
只有1行与用户名“testing”匹配
如果你只想要一排
SELECT TOP 1 * FROM [Philadelphia].[dbo].[mmgusers_tbl] WHERE UserName = 'testing'
LIMIT 1在mySQL中用于限制记录。在SQL Server中,尝试使用以下查询:
SELECT TOP 1 * FROM [Philadelphia].[dbo].[mmgusers_tbl] WHERE UserName = 'testing';
在WHERE子句周围放置
[
和]
表示这是表的别名,而不是实际的WHERE子句代码>?请不要使用select*。显式指定输出,因为这将影响执行。LIMIT 1
是MySql语法。在MS SQL Server中,类似于这样的“选择”之后的TOP 1
从[Philadelphia].[dbo].[mmgusers\u tbl]中选择前1*,其中UserName='testing'
您不应该将整个WHERE
子句放在这些可怕的括号之间。方括号用于[database]/[type]/[tablename]。您不需要在语句的其余部分包含它们。如果使用了错误的命名约定,例如[Username.DatabaseX].[dbo].[Tablename],这确实会有所帮助。我对第二个SQL查询感到困惑。限制不是SQL Server语法的一部分,该查询将抛出错误。@AnthonyGrist请检查now@VigneshKumar不知道我应该检查什么。您仍在第二个查询中使用LIMIT,这不是有效的SQL Server语法。只需删除整个第二个查询。获取此错误:Msg 102,级别15,状态1,第1行“]”附近的语法不正确。
请检查您的语法,以确保您没有额外的方括号。这个语法适合我。
SELECT TOP 1 * FROM [Philadelphia].[dbo].[mmgusers_tbl] WHERE UserName = 'testing'
SELECT TOP 1 * FROM [Philadelphia].[dbo].[mmgusers_tbl] WHERE UserName = 'testing';