Sql server 连接的最佳方法是在MSSQL中选择并设置列值

Sql server 连接的最佳方法是在MSSQL中选择并设置列值,sql-server,select,Sql Server,Select,我有以下疑问 声明@所选位 设置@Selected=0 SELECT CAST (ms.sector_id as int) as Id ,CAST (s.parent_sector_id as int) as ParentSectorID ,s.[name] as Name FROM matter_sector ms LEFT JOIN sector s ON ms.sector_id=s.sector_id WHERE ms.matter_number = '00597619' AND p

我有以下疑问

声明@所选位 设置@Selected=0

SELECT CAST (ms.sector_id as int) as Id
,CAST (s.parent_sector_id as int) as ParentSectorID
,s.[name]  as Name
FROM matter_sector ms LEFT JOIN sector s ON ms.sector_id=s.sector_id 
WHERE ms.matter_number = '00597619' AND parent_sector_id = 0

SELECT CAST ([sector_id] AS int) AS Id
,CAST ([parent_sector_id] AS int) AS ParentSectorID
,[name] AS Name
,@Selected AS Selected
FROM sector
where parent_sector_id = 0
结果如下

我想要实现的是将Id为596的记录的所选值更新为1。第一个select语句可能返回多条记录

请尝试以下操作:

SELECT CAST ([sector_id] AS int) AS Id
,CAST ([parent_sector_id] AS int) AS ParentSectorID
,[name] AS Name
,case sector_id when (SELECT CAST (ms.sector_id as int) as Id
FROM matter_sector ms LEFT JOIN sector s ON ms.sector_id=s.sector_id 
WHERE ms.matter_number = '00597619' AND parent_sector_id = 0) then 1 else 0 end as 'Selected'
FROM sector
where parent_sector_id = 0

这很接近。选定项在扇区表中不可用。这是一个我需要在select语句中返回的参数,它在QueryHoops中声明,我已经对它进行了修改。太好了!非常感谢你!