Moin zusammen,
ich habe 2 MS
SQL Tabelle. Die 1. Tabelle hält Computer Information mit der
IP Adresse (z.B. 192.168.29.29). Die 2. Tabelle hat die Informationen über die Bereiche mit Zusatzinformation, wie dem Standort (z.B.: Gebäude, Raum).
Definition der 1. Tabelle für die
IP:
Code:
name varchar(20) null,
ip varchar(15) null
// Beispieldaten
Name |
IP
----------------------------------
Computer1 | 192.168.99.29
Computer2 | 192.168.99.250
Computer3 | 192.168.100.29
Computer4 | 192.168.100.225
Definition der 2. Tabelle:
Code:
ip_min varchar(15) null,
ip_max varchar(15) null,
location varchar(50) null
// Beispieldaten
IP Min |
IP Max | Location
--------------------------------------------
192.168.99.1 | 192.168.99.125 | Raum 1
192.168.99.126 | 192.168.100.125 | Raum 2
192.168.100.126 | 192.168.100.254 | Raum 3
Leider fehlt mir das Wissen, wie man sowas machen kann. Mit Google habe ich einige Sachen gefunden aber nicht nachvollziehen können.
Ein Ansatz wäre, dass man die
IP Adressen in Integer umwandelt und dann folgendes macht.
Code:
Select t1.name, t1.ip, t2,location from table1 as t1, table2 as t2 where t1.ip between t2.ip_min and t2.ip_max
Nur wie wandle ich die IPs richtig um? Das 3. Oktett ist zum Beispiel 2stellig und könnte auch 3stellig sein.
Folgendes Ergebnis benötige ich, wenn das Select Statement gefunden ist.
Code:
Computer1 | 192.168.99.29 | Raum 1
Computer2 | 192.168.99.250 | Raum 2
Computer3 | 192.168.100.29 | Raum 2
Computer4 | 192.168.100.225 | Raum 3
Vielen Dank im Voraus für eure Ideen oder Anregungen.
Sven