Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

MySQL JOINS nach vergleich von Werten

Frage Entwicklung Datenbanken

Mitglied: L0c4lh0sT

L0c4lh0sT (Level 1) - Jetzt verbinden

04.02.2010, aktualisiert 18.10.2012, 3014 Aufrufe, 6 Kommentare

Hallo Forum,

ich habe ein kleines Problem in meiner MySQL Abfrage und hoffe ihr könnt mir ein bisschen helfen.
Mitglied: Biber
04.02.2010 um 12:46 Uhr
Moin L0c4lh0sT,

zwei mögliche Lösungsansätze
  • entweder du baust dir die Statements wirklich vollkommen dynamisch aus den jeweiligen Stringfetzen zusammen mit PHP oder whatever. Aber dann brauchst du ZWEI Abfragen, nämlich erstmal eine zur Prüfung auf Fall "'glpi_infocoms.FK_device' = 'glpi_softwarelicenses.ID'". Je nach Ergebnis dann Statement A oder B generieren mit EINEM Inner Join.

  • oder aber du machst es mit SQL-Mitteln. Dann aber IMMER zwei LEFT JOINs, also beide möglichen Fälle, vom 'glpi_infocoms.FK_device' auf 'glpi_softwarelicenses.ID' bzw.sID. Dazu musst du die tabelle zweimal mit jeweils unterschiedlichen Aliasen (z.B. noch ein "A" und ein "B" dazu) ansprechen Da immer einer der beiden auf einen NULL-Satz zeigt, kannst du mit einer "WHERE glpi_softwarelicensesA.ID is not NULL and glpi_softwarelicensesB.sID is not NULL" den gewünschten ResultSet holen.

Grüße
Biber
Bitte warten ..
Mitglied: it-frosch
04.02.2010 um 12:49 Uhr
Hallo L0c4lh0s,

was willst du den eigentlich auswerten?
Aus deiner Beschreibung geht das leider nicht hervor. Ich habe momentan nur so viel verstanden
dass Datensätze aus der Tabelle glpi_infocoms mit FK_Device sowohl auf die ID wie auch auf die sID
der Tabelle glpi_softwarelicenses referenzieren.
Bitte warten ..
Mitglied: L0c4lh0sT
04.02.2010 um 13:30 Uhr
Also das ganze soll eine Lizenzverwaltung werden.

Die daten werden mit OCSNG in die Datenbank geholt. OCSNG kann aber bei Software wie Visio z.B. nicht als Version 2003 oder XP oder soetwas ausgeben sondern nur Zahlen also z.B. 12.0456.0231 oder so (werden direkt aus der Registry geholt). Da wir der Version eine Lizenz zuordnen wollen, eine verbindung zwischen Version und Lizenz allerdings nicht besteht, müssen wir dieses Problem umgehen. Also haben wir uns gedacht benennen wir die Lizenz gleich der Version. Wenn ich jetzt aber meine normale Abfrage starte, benutzt er für jede Version alle Lizenzen. Da wir 2 VISIO versionen benutzen (2003, XP) haben wir jetzt 4 einträge von VISIO dabei. Einfach zu sagen dass er nur die Anzeigen soll wo Version und Lizenz gleich sind geht nicht, da wir noch andere Software haben wo Version != Lizenz ist

Ich weiß nicht ob das einigermaßen verständlich umschrieben ist hoffe es aber stark^^
Bitte warten ..
Mitglied: it-frosch
04.02.2010 um 13:56 Uhr
Hallo L0c4lh0s,

was entspricht jetzt der Version ? ID, sID oder FK_Device?
Nimm doch bitte mal dein Visio Beispiel und ein Binspiel einer Software bei der Version != Lizenz gilt
und schreibe bitte mal die Tabelleninhalte für diese beiden Fälle mit genauer Bezeichnung was Version, Lizenz und Gerät ist.
Bitte warten ..
Mitglied: L0c4lh0sT
04.02.2010 um 14:03 Uhr
Kann ich gerade nicht machen hab noch was anderes zu tun. Aber mach ich nachher.
Bitte warten ..
Mitglied: L0c4lh0sT
12.02.2010, aktualisiert 18.10.2012
Sorry ich bin nicht mehr dazu gekommen das ganze als Tabelle zusammen zu fassen.
Hab mal meine "Probleme" in einem Thread zusammengefasst und ein wenig ausführlicher beschrieben was denn überhaupt der fall ist und warum diese Probleme auftreten....vll. ist es besser diesen Thread zu schliessen und in dem anderen weiterzumachen...

http://www.administrator.de/forum/thread-kann-gel%c3%b6scht-werden-1358 ...
Bitte warten ..
Ähnliche Inhalte
Datenbanken
gelöst MySQL Abfrage um JOIN erweitern (14)

Frage von datadexx zum Thema Datenbanken ...

Batch & Shell
Werte vergleichen die nicht 100 Prozent gleich sind (4)

Frage von functionstrut zum Thema Batch & Shell ...

Datenbanken
gelöst MYSQL Abfrage Werte summieren (3)

Frage von Ghost108 zum Thema Datenbanken ...

Microsoft Office
gelöst Excel: Wert aus mehreren Zeilen vergleichen (2)

Frage von Nicolaas zum Thema Microsoft Office ...

Neue Wissensbeiträge
Windows Tools

Zeit für Energiesparmodus, Bildschirmabschaltung etc. schnell anpassen

Anleitung von hannsgmaulwurf zum Thema Windows Tools ...

Linux Netzwerk

Ping und das einstellbare Bytepattern

(1)

Erfahrungsbericht von LordGurke zum Thema Linux Netzwerk ...

Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(4)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Heiß diskutierte Inhalte
Firewall
Richtige Grundeinstellungen der Pfsense für mein Netzwerk (14)

Frage von Spitzbube zum Thema Firewall ...

Switche und Hubs
gelöst Cisco 2960x Stacking über mehrere Etagen (12)

Frage von b3scher zum Thema Switche und Hubs ...