SQL复杂查询,多表关联

表逻辑如图1,

A表的日期字段格式为yyyy-MM-dd,根据where子句的条件来筛选'当月',

例如:where 表A.date like '2021-2%'

查询出的结果即为图2样式。求完整语句 

 

where data_format(时间,'%Y-%m')='2021-2'

首先你的字段类型是 DATETIME,那么就可以用 DATA_FORMAT来做条件

select  项目id,项目名称,项目负责人,项目总

,(select count(*) from a where a.项目id=b.项目id and a.date>='yyyy-今月-01' and a.date<'yyyy-下月-01') as 项目数

 from b join c on c.项目id=b.项目id