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