sql-server-2012 - 查找具有多行且标志设置为 Y 的 int_id

标签 sql-server-2012

我有一个表可以存储每个代码的多个描述。但是,该表中有一个标志,用于指示其中哪些是主要或主要描述。在某些情况下,我们的代码中有多个代码将此标志设置为 Y,这是不正确的。

我无法使用 SQL 来获取该表中的所有行,这些行的描述设置为 Y 不止一个。

我已经使用此 SQL 来识别没有任何 dsp_fg = 'Y'

的行
select *
from table A
where dsp_fg = 'N'
and not exists (select 1 FROM table where cod_int_id = A.cod_int_id AND dsp_fg = 'Y')

但是我在编写 SQL 来获取具有多个 Y 记录的 cod_int_id 时遇到了问题,有人可以帮忙吗?

最佳答案

SELECT int_id FROM A
WHERE dsp_fg = 'Y'
GROUP BY int_id
HAVING count(1) > 1 

这并不完美,但它确定了我需要的东西。

关于sql-server-2012 - 查找具有多行且标志设置为 Y 的 int_id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49160056/

相关文章:

sql-server - 如何检查 SQL Server 表中是否存在列

sql-server-2012 - 在 SQL Server 中将行转换为列后,我们如何计算每行的总和

visual-studio - 从 VS "Find Results"窗口打开 SQL 文件会在 SSMS 的两个实例中打开该文件两次

sql-server - 使用Parse函数时如何控制日历系统?

sql-server - 如何进行SQL查询以获取组中的父子数据

mysql - SSMA MySql 到 MsSql 空值错误

sql - 仅计算不同值

sql - 如何使用 Powershell Restore-SqlDatabase cmdlet 可靠地覆盖现有数据库

c# - SQL 服务器 CLR : how to call WCF Service In CLR SQL stored procedure in database project

sql-server - 如何在 SQL Server 2012 中使用 GROUP BY