Einzelnen Beitrag anzeigen

Benutzerbild von Piro
Piro

Registriert seit: 14. Jul 2003
Ort: Flintbek
810 Beiträge
 
Delphi XE2 Professional
 
#1

SQL Select gesucht - IP Adresse zwischen IP Min und IP Max

  Alt 8. Dez 2014, 20:14
Datenbank: MS SQL • Version: 2008 • Zugriff über: ADO
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
  Mit Zitat antworten Zitat