Всем привет, не могу правильно объединить таблицы в запросе.
имеем однотипные таблицы со значениями tddoppu,tddopsredn,tddopprochee
и таблицу с датой tddate
необходимо по iddate и counterid выбрать все значения из этих таблиц, отсутствующие тоже.
SELECT `tddoppu`.`value` as `tddoppu`,
`tddopsredn`.`value` as `tddopsredn`,
`tddopprochee`.`value` as `tddopprochee`,
`tddate`.`iddate` as `iddate`,
`tddoppu`.`counterid` as `counterid`
from `tddate`
left join `tddoppu`
on `tddate`.`iddate` = `tddoppu`.`dateid`
and `tddoppu`.`counterid` in (:COUNTER_IDS)
left join `tddopsredn`
on `tddate`.`iddate` = `tddopsredn`.`dateid`
and `tddopsredn`.`counterid` in (:COUNTER_IDS)
left join `tddopprochee`
on `tddate`.`iddate` = `tddopprochee`.`dateid`
and `tddopprochee`.`counterid` in (:COUNTER_IDS)
where `tddate`.`iddate` = :DATE_ID
в результате получаю задублированные строки.
tddoppu,tddopsredn,tddopprochee,iddate,counterid
170.86, null, 148.14, 27, 9981
28.33, null, 148.14, 27, 9988
170.86, null, 21.67, 27, 9981
28.33, null, 21.67, 27, 9988
понимаю что нужно как то указать в запросе на равенство в таблицах counterid но если я делаю
если я добавляю в WHERE
and tddoppu.counterid = tddopsredn.counterid
and tddoppu.counterid = tddopprochee.counterid
and tddopprochee.counterid = tddopsredn.counterid
строки не выбираются