Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SQL Server Management Studio中的此SQL查询有什么问题?_Sql Server_Database_Tsql - Fatal编程技术网

Sql server SQL Server Management Studio中的此SQL查询有什么问题?

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

正在尝试运行此SQL查询,尽管它表示已成功执行,但未返回1个结果。相反,它会像往常一样返回数据库表中的所有行:

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';