VadimSh
Новичок
объединение двух строк таблици в одну
Всем доброго дня суток!
Второй день ломаю голову над запросом, чето никак не родится
Есть таблица с пользователями "oids" и таблица с трафиком "summary"
Summary
| unit_oid | policy_oid | t_from | bytes_in | bytes_out |
Нужно вывести данный всех видов трафика(policy_oid) одной строкой
Ниже приведен вариант как я это организовал, но если одит из типов трафика за период "t_from" отсутствует то и остальные не отображаются т.к. не выполняется условие
Собственно это и есть проблема.
Может кто подскажет?
[SQL]
SELECT s.t_from , s.bytes_in as s0, s.bytes_out as s1, ss.bytes_in as s2, ss.bytes_out as s3
FROM oids as o
LEFT JOIN summary as s on s.unit_oid = o.oid
LEFT JOIN summary as ss on ss.unit_oid = o.oid
WHERE o.oid=1040157
AND s.policy_oid=866177 AND s.prefix='D' AND s.t_from >= 1159639200
AND s.t_from <= 1167587999 AND DATE_FORMAT(FROM_UNIXTIME(s.t_from), '%Y%m%%d')=DATE_FORMAT(FROM_UNIXTIME(ss.t_from), '%Y%m%%d')
AND ss.policy_oid=317322 AND ss.prefix='D' AND ss.t_from >= 1159639200 AND ss.t_from <= 1167587999
[/SQL]
Всем доброго дня суток!
Второй день ломаю голову над запросом, чето никак не родится
Есть таблица с пользователями "oids" и таблица с трафиком "summary"
Summary
| unit_oid | policy_oid | t_from | bytes_in | bytes_out |
Нужно вывести данный всех видов трафика(policy_oid) одной строкой
Ниже приведен вариант как я это организовал, но если одит из типов трафика за период "t_from" отсутствует то и остальные не отображаются т.к. не выполняется условие
Собственно это и есть проблема.
Может кто подскажет?
[SQL]
SELECT s.t_from , s.bytes_in as s0, s.bytes_out as s1, ss.bytes_in as s2, ss.bytes_out as s3
FROM oids as o
LEFT JOIN summary as s on s.unit_oid = o.oid
LEFT JOIN summary as ss on ss.unit_oid = o.oid
WHERE o.oid=1040157
AND s.policy_oid=866177 AND s.prefix='D' AND s.t_from >= 1159639200
AND s.t_from <= 1167587999 AND DATE_FORMAT(FROM_UNIXTIME(s.t_from), '%Y%m%%d')=DATE_FORMAT(FROM_UNIXTIME(ss.t_from), '%Y%m%%d')
AND ss.policy_oid=317322 AND ss.prefix='D' AND ss.t_from >= 1159639200 AND ss.t_from <= 1167587999
[/SQL]