Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.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 - Fatal编程技术网

Sql server 返回状态为==”的所有项目;“退休”;

Sql server 返回状态为==”的所有项目;“退休”;,sql-server,Sql Server,我需要从“状态”为“已退休”的SQL Server 2014表中选择“ItemName”。我曾多次尝试使用GROUP,但未能完成查询。感谢您的帮助 例如,这是表格。我应该只从SQL查询返回A和B,因为它们中的每一个都有一个status==Retired的行: ItemName Status LastUpdated ========= ======== ============ A active A retired

我需要从“状态”为“已退休”的SQL Server 2014表中选择“ItemName”。我曾多次尝试使用GROUP,但未能完成查询。感谢您的帮助

例如,这是表格。我应该只从SQL查询返回A和B,因为它们中的每一个都有一个status==Retired的行:

ItemName       Status    LastUpdated
=========     ========   ============
A              active
A              retired
B              active
B              active
B              retired
C              active
C              inactive
使用where子句:

   Select DISTINCT ItemName from YourTableName WHERE status = 'retired'

试试这个代码,我想它工作得很好

SELECT itemname FROM Table WHERE (Status='retired' and ItemName='A' or ItemName='B')

您可以使用group by进行区分


从Status='Retired'所在的表中按ItemName分组选择ItemName

如何
从Status='Retired'所在的表中选择ItemName
您应该包括您当前的查询,这样我们就可以看到您正在做什么。您确实需要找到一个基本的SQL教程,并逐步完成它。带有WHERE子句的简单SELECT是第1课。我们不是来教你们的,谢谢你们!我想我是想让事情变得不必要的复杂化。你不需要GROUP BY。我从问题中假设只需要分别返回a和B值,否则就不需要GROUP BY。不需要GROUP BY,因为SELECT中没有聚合函数(SUM、AVG、MAX、MIN、COUNT)。是的,我明白你的意思,但假设有4行,其中ItemName和Status分别等于'a'和'retired',不使用group by,输出将是'a','a','a','B',正如问题所说,它应该只显示a和B,我们可以使用group by或Distinct只显示'a','B',并消除重复项,因此,这取决于用户需要。在这种情况下,DISTINCT是合适的,而不是GROUP BY。同样,SELECT中没有发生聚合。