Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.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 2005 简单sql查询_Sql Server 2005 - Fatal编程技术网

Sql server 2005 简单sql查询

Sql server 2005 简单sql查询,sql-server-2005,Sql Server 2005,我在这个查询中遇到了一个错误,比如distinct语句附近的语法不正确 DECLARE @CNT INT SELECT @CNT= DISTINCT ISNULL(Employee.id,0) FROM Employee WHERE EMPLOYEE.NAME='KIRAN' 语法有什么错误吗 SELECT DISTINCT ISNULL(Employee.id,0) FROM Employee WHERE EMPLOYEE.NAME='KIRAN' 这句话很好用 DECLARE

我在这个查询中遇到了一个错误,比如distinct语句附近的语法不正确

DECLARE  @CNT INT
SELECT @CNT= DISTINCT ISNULL(Employee.id,0)
FROM Employee 
WHERE EMPLOYEE.NAME='KIRAN'
语法有什么错误吗

SELECT  DISTINCT ISNULL(Employee.id,0)
FROM Employee 
WHERE EMPLOYEE.NAME='KIRAN'
这句话很好用

DECLARE  @CNT INT
SELECT top 1 @CNT= ISNULL(Employee.id,0)
FROM Employee 
WHERE EMPLOYEE.NAME='KIRAN'
谢谢
普林斯

也许是这样的

DECLARE  @CNT INT
SET @CNT = (SELECT DISTINCT ISNULL(Employee.id,0)
FROM Employee 
WHERE EMPLOYEE.NAME='KIRAN')

1.use必须在@CNT变量之前写入distinct
2.仅选择第一行,因为@cnt不是表变量,它是类型为int的变量

DECLARE  @CNT INT
SELECT top 1 @CNT= ISNULL(Employee.id,0)
FROM Employee 
WHERE EMPLOYEE.NAME='KIRAN'
您可以简单地测试它

declare @CNT INT

SELECT top 1 @CNT= ISNULL(Employee.id,0)
FROM Employee 
WHERE EMPLOYEE.NAME='KIRAN'

select @CNT 

那你就有麻烦了。。但这不是问题所在,查询返回相同的值,即使是多行值