[MySQL] Vergleiche

Buba235

Erfahrenes Mitglied
Hallo Leute!

Ich hab mal wieder eine Frage, die ich nicht im Ansatz lösen kann. Ich muss in einer Tabelle alle Requests und die dazugehörigen Responses zählen, bei denen folgendes gleich ist:

Die SRC_IP des Requests soll mit der DST_IP des Responses übereinstimmen und die DST_IP des Requests soll mit der SRC_IP des Responses auch gleich sein. Anders gesagt: Die Adresse in der SRC_IP eines Requests muss gleich der Adresse eines Responses in der Spalte DST_IP sein und zur Überprüfung das ganze dann nochmal umgekehrt. Ich hab das ganze mal in einer VIEW gemacht und auch nur für eine einzige IP:

1. VIEW:
Code:
CREATE VIEW req AS SELECT COUNT(SRC_IP) FROM mydb.test WHERE
mydb.test.TYPE LIKE "Request" AND mydb.test.SRC_IP LIKE "193.254.174.18";


2. VIEW:
Code:
CREATE VIEW res AS SELECT COUNT(DST_IP) FROM mydb.test WHERE
mydb.test.TYPE LIKE "Response" AND mydb.test.DST_IP LIKE "193.254.174.18";

Das klappt auch hervorragend, nur es ist eben nur für eine IP, ich brauch aber alle möglichen Kombinationen, bei denen das oben beschriebene zutrifft! Wie kann ich das so allgemein formulieren, dass ich alle einzelnen Kombis bekomme?

Hoffentlich könnt ihr mir da helfen - bin am Verzweifeln!


Gruß Buba
 
Okay ich habs rausgefunden:

Code:
CREATE VIEW res AS 
SELECT COUNT(DST_IP) , mydb.test.DST_IP 
FROM mydb.test WHERE 
   mydb.test.TYPE = "Response" 
GROUP BY mydb.test.DST_IP;

und die andere VIEW dann genauso. Nur wie kann ich jetzt die tatsächlich vorkommenden Verbindungen in eine andere Tabelle schreiben?

Requests Response Difference

So sieht die Tabelle aus und ich will jetzt die Anzahl der vorkommenden Requests in Requests und das andere in Response schreiben. Außerdem brauch ich noch die Differenz der beiden dann. Wie könnte das denn gehen?
 

Neue Beiträge

Zurück