W dniu 24 maja 2012 13:39 użytkownik Waldemar Dymkiewicz <waldemar.dymkiewicz@easy-com.pl> napisał:
W ogole skad masz to zapytanie?

w samplach jest przykład dla radiusa.

a zrobiłem to tak:

SELECT lower(nn.name) as Nazwa,inet_ntoa(nn.ipaddr) as adres, z.downceil,z.upceil FROM nodes nn
LEFT JOIN (
SELECT n.id, MIN(n.name) AS name, SUM(t.downceil) AS downceil, SUM(t.upceil) AS upceil
        FROM nodeassignments na
        JOIN assignments a ON (na.assignmentid = a.id)
        JOIN tariffs t ON (a.tariffid = t.id)
        JOIN nodes n ON (na.nodeid = n.id)
        JOIN (
                SELECT assignmentid, COUNT(*) AS cnt
                FROM nodeassignments
                GROUP BY assignmentid
             ) o ON (o.assignmentid = na.assignmentid)
        WHERE (a.datefrom <= unix_timestamp() OR a.datefrom = 0)
        AND (a.dateto > unix_timestamp() OR a.dateto = 0)
        AND a.suspended = 0
        GROUP BY n.id
) z ON z.name = nn.name
  WHERE nn.ipaddr BETWEEN inet_aton('x.x.x.x') and inet_aton('x.x.y.y')  
ORER BY Nazwa

co prawda może mało ładne, ale otrzymuję to co chciałem :)

--
Pozdrawiam
Marcin / nicraM