Sql server SQL Server:加入选择查询并更新参数

Sql server SQL Server:加入选择查询并更新参数,sql-server,select,join,parameters,Sql Server,Select,Join,Parameters,我有以下疑问 SELECT CAST(practice_area_id AS int) AS Id ,name As Name ,CAST(0 AS bit) AS 'Selected' FROM practice_area ORDER BY name SELECT CAST (wt.work_type_id AS int) AS Id ,wt.name AS Name ,CASE wt.work_type_id

我有以下疑问

SELECT 
    CAST(practice_area_id AS int) AS Id
    ,name As Name
    ,CAST(0 AS bit) AS 'Selected'
FROM 
    practice_area
ORDER BY 
    name

SELECT 
    CAST (wt.work_type_id AS int) AS Id
    ,wt.name AS Name
    ,CASE wt.work_type_id 
        WHEN (SELECT wt.work_type_id 
              WHERE wt.work_type_id IN (SELECT CAST (mwt.work_type_id AS int) AS Id
                                        FROM matter_work_type mwt 
                                        LEFT JOIN work_type wt ON mwt.work_type_id = wt.work_type_id 
                                        WHERE mwt.matter_number = '00597959')) 
          THEN CAST(1 AS bit) 
        ELSE CAST(0 AS bit) 
    END AS 'Selected'
FROM 
    practice_area pa
JOIN 
    work_type_practice_area wtpa ON wtpa.practice_area_id = pa.practice_area_id
JOIN 
    work_type wt ON wt.work_type_id = wtpa.work_type_id
WHERE 
    pa.practice_area_id = 2
以下是结果

第一个查询返回my tree list复选框控件的所有根节点。第二个返回id=2的父节点的所有子节点

我想要实现的是,仅当此根节点有选定的子节点时(childnodes中至少有一条记录选择了=1),才将第一个查询中的
CAST(0作为位)替换为'Selected'

;with nodes as (-- your second query)    
SELECT 
    CAST(practice_area_id AS int) AS Id,
    name As Name,
    case when exists(Select * from nodes where nodes.id = practice_area.id and selected=1) 
         then 1 
         else 0 end
from
    practice_area
ORDER BY 
    name