SQL模糊查询语句问题,一个查询结果是另一个的模糊查询条件

SELECT ROUND(AVG(CESHICHENGJI),2) AS pjcj FROM t_datacenter WHERE CESHIXIANGMUMINGCHENG = 身高 AND t_datacenter.JIGOUDAIMA LIKE (SELECT t_department.CODE FROM t_department WHERE t_department.NAME = '通州区') AND SUBSTRING(CESHIRIQI,1,4) =2017

怎么写啊?代码大概就是这样

  SELECT
ROUND(AVG(CESHICHENGJI),2) AS pjcj 
FROM t_datacenter 
WHERE 
CESHIXIANGMUMINGCHENG = 身高 
AND t_datacenter.JIGOUDAIMA LIKE  concat('%',(SELECT t_department.CODE FROM t_department WHERE t_department.NAME = '通州区'),'%' )
AND SUBSTRING(CESHIRIQI,1,4) =2017

in like 换成in,你的子查询应该会查回很多条数据 所以要用in

这个是mysql或者sql server的查询方式,上面那个是oracle或者db2的查询方式

 SELECT
ROUND(AVG(CESHICHENGJI),2) AS pjcj 
FROM t_datacenter 
WHERE 
CESHIXIANGMUMINGCHENG = 身高 
AND t_datacenter.JIGOUDAIMA LIKE like concat('%',(SELECT t_department.CODE FROM t_department WHERE t_department.NAME = '通州区'),%' )
AND SUBSTRING(CESHIRIQI,1,4) =2017