Also habe ich zwei Tabellen. Eine Tabelle (tbl1) enthält Informationen zu Subnetzen durch Erstellen, die Spaltennamen sind IP-Adresse, Standort, Server, Gebäude, Start-IP, End-IP und Subnetzmaske.SQL-Abfrage, um Werte aus einer Tabelle anzuzeigen, die zwischen Spaltenwerten in einer anderen Tabelle liegen
Ich habe eine andere Tabelle (TBL2) mit dem Namen Spalt Top-Konsolen-Benutzer, Computernamen, IP-Adresse, Computermodell, Computer-Betriebssystem und Computer-Seriennummer
Ich mag einen Bericht, dass die Listen erstellen die IP-Adressen von tbl2, die in tbl1 zwischen der Start-IP und der End-IP liegen. Wenn zum Beispiel ein Computer von tbl2 eine IP-Adresse 172.16.1.4 hat und tbl1 ein Gebäude hat, dessen Start-IP 172.16.1.1 ist und die End-IP 172.16.1.254 ist, möchte ich das in meinem Bericht sehen können.
Es gibt keine ähnlichen Spalten in beiden Tabellen, so dass die Verwendung einer JOIN-Anweisung nicht wirklich für mich funktioniert hat. Ich verwende auch Parameter (wenn das wichtig ist) in meinem Bericht. Jede Hilfe wäre willkommen.
UPDATE:
Ich weiß, das ist eine Menge, aber es wird mich auf halbem Weg. Ich habe eine Funktion erstellt, die Werte konvertiert, aber nicht sicher ist, wie ich anrufen soll. Noch mehr Zeiger ??
SELECT * FROM Subnets_And_Locations,
(SELECT Computer_System_DATA.UserName00 AS Top_Console_User,
Computer_System_DATA.Name00 + '.' + Computer_System_DATA.Domain00 AS Computer_Name,
System_IP_Address_ARR.IP_Addresses0 AS IP_Address,
Computer_System_DATA.Model00 AS Model,
Operating_System_DATA.Caption00 AS Operating_System,
PC_BIOS_DATA.SerialNumber00 AS Serial_Number
FROM Computer_System_DATA
INNER JOIN Operating_System_DATA ON Computer_System_DATA.MachineID = Operating_System_DATA.MachineID
INNER JOIN System_IP_Address_ARR ON Computer_System_DATA.MachineID = System_IP_Address_ARR.ItemKey
INNER JOIN PC_BIOS_DATA ON Computer_System_DATA.MachineID = PC_BIOS_DATA.MachineID) AS Scope
WHERE Scope.IP_Address >= Subnets_And_Locations.Starting_IP AND Scope.IP_Address <= Subnets_And_Locations.Ending_IP
;
Ich bin mir nicht sicher, ob es eine Möglichkeit gibt, eine Reihe von Zahlen wie diese abzufragen (nicht zu 100% sicher). Mein Vorschlag wäre, zu ändern, wie die IP-Adressen in der Tabelle gespeichert werden, um eine solche Abfrage zu ermöglichen. Ich fand [dies] (http://stackoverflow.com/questions/1385552/datatype-for-storing-ip-address-in-sql-server), die in der Lage sein kann, in wie die Daten gespeichert werden. – BrandonM
der Bereich wird nur durch die letzten 2 Oktetts oder letzten 3 entschieden? – objectNotFound
Der Bereich wird durch die letzten 2 Oktetts bestimmt. –