根据这三个语句反推其中包含的表结构:
select "gate_records"."gate_id" ,sum(gate_records.volume) as volume from "gate_records" where "gate_records"."deleted_at" is null and gate_id in(
select id from "gates" where "gates"."deleted_at" is null and "gates"."setup_land_region_id" in (
select id from "land_regions" where "land_regions"."deleted_at" is null and "land_regions"."parent_id" = 2
)
) group by "gate_records"."gate_id";
select id, name, lat_long
from "gates"
where "gates"."deleted_at" is null
and "gates"."setup_land_region_id" in (select id
from "land_regions"
where "land_regions"."deleted_at" is null
and "land_regions"."parent_id" = 2);
select gate_records.gate_id, sum(gate_records.volume) as volume, gates.name as name, gates.lat_long as lat_long
from gate_records
join gates on gate_records.gate_id = gates.id
where gate_records.deleted_at is null
and gates.deleted_at is null
and gate_id in (select id
from "gates"
where "gates"."deleted_at" is null
and "gates"."setup_land_region_id" in (select id
from "land_regions"
where "land_regions"."deleted_at" is null
and "land_regions"."parent_id" = 2))
group by gate_records.gate_id, gates.name, gates.lat_long;
这三个语句涉及了三个表:gate_records、gates 和 land_regions。
gate_records表包含字段:
gate_id
volume
deleted_at
gates表包含字段:
id
name
lat_long
deleted_at
setup_land_region_id
land_regions表包含字段:
id
parent_id
deleted_at
第一个查询是关于gate_records表和与其相关联的gates和land_regions表的聚合查询。它选择了gate_records表中的gate_id和volume字段,并对volume字段进行了求和。条件是gate_records表中deleted_at为空,并且gate_id存在于满足一定条件的gates表中。该条件是gates表中deleted_at为空,并且setup_land_region_id存在于满足一定条件的land_regions表中(这些条件包括deleted_at为空并且parent_id为2)。
第二个查询选择了gates表中的id、name和lat_long字段,条件是gates表中deleted_at为空,并且setup_land_region_id存在于满足一定条件的land_regions表中(这些条件包括deleted_at为空并且parent_id为2)。
第三个查询是一个联合查询,涉及gate_records和gates表。它选择了gate_records表中的gate_id和volume字段的求和,并将gates表中的name和lat_long字段也加入了结果集。条件包括了gate_records和gates表中的deleted_at为空,并且gate_id存在于满足一定条件的gates表中。这些条件类似于前两个查询中的条件,都是关于gates表中deleted_at为空,并且setup_land_region_id存在于满足一定条件的land_regions表中(这些条件包括deleted_at为空并且parent_id为2)。