select
a.*
from y_contract_water a
WHERE a.company_id=#{company_id} and a.del_flag='0'
select
a.company_id,max(id) as id,max(company_name) as company_name,max(start_date) as start_date,max(end_date) as end_date
from y_contract_water a
WHERE a.water_id=#{water_id} and a.del_flag='0'
group by a.company_id
select
count(a.id)
from y_contract_water a
WHERE a.water_id=#{water_id} and a.del_flag='0'
and a.contract_id!=#{contract_id}
select
count(a.id)
from y_contract_water a
WHERE a.contract_id=#{contract_id} and a.del_flag='0'
and a.water_id!=#{water_id}
select
a.*,
CASE WHEN a.read_id is null THEN a.start_water_meter_count
ELSE b.water_current_read end as water_before_read,
CASE WHEN a.read_id is null THEN a.start_meter_write
ELSE b.meter_write end as meter_write
from y_contract_water a
LEFT JOIN y_water_read b on a.read_id=b.id WHERE a.company_id=#{company_id} and a.del_flag='0'
update y_contract_water set del_flag=1
where id=#{id}
update y_contract_water set del_flag=1
where contract_id=#{contract_id}
select cw.* from y_contract_water cw WHERE cw.water_id=#{water_id} and cw.del_flag='0' and start_water_meter_count is not null limit 0,1
select count(id) from y_contract_water cw WHERE cw.water_id=#{water_id} and cw.del_flag='0'
select count(id) from y_contract_water cw WHERE cw.water_id=#{water_id} and cw.del_flag='0'
select
cw.*,a.name as water_name
from y_contract_water cw
inner join y_water a on a.id=cw.water_id
WHERE cw.contract_id=#{contractId} and cw.del_flag='0'
CASE WHEN cew.is_common=1 THEN cew.start_water_meter_count_common
else a.start_water_meter_count end