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, 2993 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 ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
PHP
PHP MySQL Login (7)

Frage von Yanmai zum Thema PHP ...

Netzwerke
VPN DHCP IPSec im Vergleich zu L2TP over IPSec (1)

Frage von TomJones zum Thema Netzwerke ...

Festplatten, SSD, Raid
Vergleich zweier SSD-Typen im Raid-10 für den Anwendungsfall SQL-Datenbank (8)

Frage von DerWoWusste zum Thema Festplatten, SSD, Raid ...

Webbrowser
gelöst Daten in entfernte Mysql DB schreiben (3)

Frage von nullacht15 zum Thema Webbrowser ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...