Artur Zabroński wrote:
06-12-03, Wojciech Ziniewicz wojciech.ziniewicz@gmail.com napisał(a):
Witam, Chce wybrać limit pakietów/s dla kazdego komputera klienta , ktory to limit jest przypisany w taryfie kazdemu klientowi........ męcze się od dluższego czasu i nic - fachowcy od mysqla - pomóżcie :)
Z modules/tc/tc.c:
Moduł tc nie obsługuje powiązań komputer-taryfa wprowadzonych w LMSie jakiś czas temu. Pracuję nad tym ale nie skończyłem jeszcze, bo nie jest to u mnie priorytet. Nie da się tego zrobić jednym zapytaniem , chyba że z podzapytaniami i jeśli uda mi się skończyć, to pewnie będzie taki wymóg. Póki co wymyśliłem coś takiego:
SELECT downrate, downceil, uprate, upceil, nodes.id, ownerid, INET_NTOA(ipaddr) AS ip, ( SELECT count(*) FROM nodeassignments LEFT JOIN nodes ON (nodeid = nodes.id) WHERE nodes.access = 1 GROUP BY assignmentid HAVING assignmentid = a1.assignmentid ) AS cnt
FROM nodeassignments a1
LEFT JOIN assignments ON (assignmentid = assignments.id) LEFT JOIN tariffs ON (tariffid = tariffs.id) LEFT JOIN nodes ON (nodeid = nodes.id) WHERE (datefrom <= %NOW% OR datefrom = 0) AND (dateto >= %NOW% OR dateto = 0) AND nodes.access = 1
Z tego dopiero można wyliczyć ile na każdy komputer przypada. Oczywiście chętnie poznam lepsze sposoby.