MySQL Frage zu LeftJoin Abfrage

Strece

Mitglied
Guten Abend,

ich habe da eine Frage zu einer gewissen LeftJoin Abfrage in MySQL, ich hoffe man darf auch sowas fragen in diesem Unterforum.
Ich bekomm es einfach nicht hin die passende Ergebnismenge zu bekommen. Also erstmal ein wenig Vorwissen über meine Datenbankstruktur.

Tabelle Position:
Standort | Objekt_1 | Objekt_2 | Objekt_3 | Typ | Bemerkung

Tabelle Verbindungen:
Von_Standort | Von_1 | Von_2 | Von_3 | Nach_Standort | Nach_1 | Nach_2 | Nach_3

Also in der Tabelle "Position" liegen meine Stammdaten, also alle verfügbaren Daten. In der Tabelle Verbindungen werden diese einzelnen Daten miteinandern verknüft, in meinem Fall Switch Verbindungen zu einer Raumdose oder von Switch zu Switch bzw. Raumdose zu Raumdose.

Das ganze verwalte ich mit einem in Java geschriebenen Programm, dort benutze ich verschiedene Joins um die passenden Ergebnismengen zu bekommen. Nun zu meinem Problem. Ich möchte gerne durch einen Left Join alle Daten aus den Spalten Objekt_1 bis Objekt_3 bekommen, die sich noch nicht in der Tabelle Verbindungen befinden (in den Spalten: Von_1 bis Von_3 und Nach_1 bis Nach_3).

Ein Beispiel:
Wenn in der Tabelle Verbindungen folgendes steht:
null;4507;3;4;null;31;C;12
dann möchte ich meiner Ergebnismenge alle Daten aus der Position Tabelle bekommen, außer die oben im Beispiel genannten, da diese schon vergeben sind bzw. belegt.

Mein Ansatz sieht derzeit so aus:
SQL:
SELECT Position.Objekt_1, Position.Objekt_2, Position.Objekt_3, Verbindungen.Von_1, Verbindungen.Von_2, Verbindungen.Von_3, Verbindungen.Nach_1, Verbindungen.Nach_2, Verbindungen.Nach_3 From Position LEFT JOIN Verbindungen ON Position.Objekt_3 = Verbindungen.Von_3 AND Position.Objekt_3 = Verbindungen.Nach_3 AND Verbindungen.Von_2 = Position.Objekt_2 AND Verbindungen.Nach_2 = Position.Objekt_2 And Position.Objekt_1 = Verbindungen.Von_1 AND Position.Objekt_1 = Verbindungen.Nach_1 Where (Verbindungen.Von_3 is NULL OR Verbindungen.Nach_3 is NULL) AND Position.Objekt_1 = '4507';

Problem daran ist, wenn jetzt z.B. der obere Datensatz folgendermaßen aussieht:
null;31;C;12null;4507;3;4;

Also vertauscht, so bekomme ich als Ergebnismenge immer noch die 4507;3;4, obwohl diese eigentlich belegt ist.

Ich hoffe jemand kann mir dabei helfen.

Mfg,

Strece
 
Zuletzt bearbeitet:

TR

Aktives Mitglied
moin,

aus dem Kopf würde ich das ungefähr so machen:

SQL:
SELECT Position.Standort,   -- Hier interressieren uns nur die Position-Daten (* würde auch reichen)
	   Position.Objekt_1, 
       Position.Objekt_2, 
	   Position.Objekt_3, 
	   Position.Typ, 
	   Position.Bemerkung, 
   FROM Position LEFT JOIN Verbindungen 
   ON (Position.Objekt_3 = Verbindungen.Von_3  -- Entweder in "Von" enthalten
   AND Position.Objekt_2 = Verbindungen.Von_2 
   AND Position.Objekt_1 = Verbindungen.Von_1) 
   OR (Position.Objekt_3 = Verbindungen.Nach_3 -- oder in "Nach" enthalten
   AND Position.Objekt_2 = Verbindungen.Nach_2 
   AND Position.Objekt_1 = Verbindungen.Nach_1) 
   WHERE Verbindungen.Von_3 IS NULL AND Verbindungen.Nach_3 IS NULL;  -- Hier ist AND wichtig da ein OR immer true ergibt

Gruß
TR
 

Strece

Mitglied
Danke du bist mein Held. Dein Vorschlag funktioniert 100% und bringt mir die richtige Ergebnismenge. Blöder Fehler von mir nur mit AND-Operatoren zu arbeiten^^

Danke nochmals.

Mfg, Strece
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Frage zu Bundesliga-DB Datenbankprogrammierung 1
pkm Frage zu Encodingproblem bei einer Datenbankanbindung Datenbankprogrammierung 1
B Frage bei einer SQL Query Datenbankprogrammierung 3
B Frage zu Datenbank Design bei Events (ZenDesk) Datenbankprogrammierung 1
B SQLite Frage zu SQLite Datenbankverbindung Datenbankprogrammierung 7
M Frage zu JSON Datenbankprogrammierung 16
Psypsy Hibernate / JPA OneToOne MappedBy Frage Datenbankprogrammierung 2
P Frage zu Connection.close() Datenbankprogrammierung 4
R MySQL Frage zum Anlegen von Artikeln inkl. Verbindungen Datenbankprogrammierung 0
M Grundlegende Klassen-Design Frage Datenbankprogrammierung 0
P MySQL Frage zur Einbindung in ein Java Projekt Datenbankprogrammierung 2
I Frage zu Datenmodellierung Datenbankprogrammierung 3
J Normalisierung - Allgemeine Frage zur 3. Normalform (Eventuelle Abhängigkeit) Datenbankprogrammierung 4
F Normalisierung Datenbank Frage Datenbankprogrammierung 5
J Frage zu ResultSet Datenbankprogrammierung 3
W Frage zur Datenbankwahl bei Umstieg auf Java Datenbankprogrammierung 7
D Frage zu DISTINCT in SQL Datenbankprogrammierung 5
K Frage zur Datenprotokollierung bei DML Anweisungen Datenbankprogrammierung 3
K Frage zu SQL Datenbankprogrammierung 2
L PostgreSQL Hibernate-Frage Datenbankprogrammierung 2
K Frage zu Datenbankmodellierung Datenbankprogrammierung 15
D Generelle Frage zum Umgang mit Datensätzen Datenbankprogrammierung 5
L Frage zu UpdateQuery Datenbankprogrammierung 12
8 MySQL Kurze Frage zur Sicherheit Datenbankprogrammierung 9
D Frage zu INSERTS über mehrere Datenbanktabellen Datenbankprogrammierung 3
D Frage zu Ausführungsmöglichkeiten von SQL Befehlen Datenbankprogrammierung 13
D Frage zu SQL Syntax Datenbankprogrammierung 17
D Frage zu potenziellen Leerzeichen in einer Datenbank Datenbankprogrammierung 5
X Connection schließen oder speichern? Performance Frage Datenbankprogrammierung 7
J mal wieder eine Frage zu parallelen Transaktionen.. Datenbankprogrammierung 2
V Frage zu Hibernate-Mapping Datenbankprogrammierung 11
N Allg. Frage zur Datenbankverbindung Datenbankprogrammierung 2
E einfache Frage bei DB-Zugriff Datenbankprogrammierung 11
O eigentlich simple SQL Frage Datenbankprogrammierung 2
M Frage zu folgender Query in EJB-QL Datenbankprogrammierung 4
H JBoss: Frage zur Datasource in der ...-ds.xml Datenbankprogrammierung 4
F Frage zu Prepared Statement Datenbankprogrammierung 2
R hibernate Frage zu configFile-Pfad und Groß/Kleinschreibung von Postgres-Tabellen Datenbankprogrammierung 8
U Frage zum Erfassen von hinzufügten und entfernten Objekten Datenbankprogrammierung 9
M prinzipielle Frage zu Datenbanken und jars ... Datenbankprogrammierung 2
S Hibernate - spezielle Frage, n zu n Beziehung Datenbankprogrammierung 11
R Frage zu PreparedStatement/ResultSet Datenbankprogrammierung 16
J Frage zu Synchronisation bei parallelem Zugriff, speziell mit JPA Datenbankprogrammierung 2
F EclipseLink persistence.xml Frage Datenbankprogrammierung 11
N Frage zur Sicherheit von Konfigurationsdatei Datenbankprogrammierung 4
H performance frage Datenbankprogrammierung 9
G Frage zum Insert-Statement Datenbankprogrammierung 2
Antoras Design-Frage: Datenzuordnung zu verschiedenen Accounts Datenbankprogrammierung 2
T HSQL: verständnis Frage Datenbankprogrammierung 2
T Java JPA Frage bzgl. DISTINCT Datenbankprogrammierung 2
G Frage zu connection? Datenbankprogrammierung 9
A Frage zu SQL-Abfrage Datenbankprogrammierung 2
G Frage zu SQL "WHERE IN (1, 2, 3. , N)" Datenbankprogrammierung 8
G Allgemeine Frage zu Datenbanklimits Datenbankprogrammierung 27
G allgemeine JDBC-Connection Frage Datenbankprogrammierung 2
G Frage zu Hibernate und M:N Beziehung Datenbankprogrammierung 9
K HQL Frage Datenbankprogrammierung 10
D kurze Frage zu einem Query Datenbankprogrammierung 6
B Hibernate mit MySql - Verständniss Frage Datenbankprogrammierung 8
N Kleine Frage zu Connection Pooling mit DataSource Datenbankprogrammierung 2
T Update-Frage Datenbankprogrammierung 11
E SQL-Frage (Löschen aller Datensätze) Datenbankprogrammierung 9
P Frage zu Performancetest einer Datenbank Datenbankprogrammierung 3
W Frage zum Umgang mit DB-Daten Datenbankprogrammierung 2
E Nochmal eine Datenbankabfrage Frage :-o (JOIN oder so) Datenbankprogrammierung 4
P frage zu "" bei INSERT STATEMENTS Datenbankprogrammierung 2
K frage zum ausführen eines INSERT statements Datenbankprogrammierung 16
L frage zu mySQL Datenbankprogrammierung 4
C Mal ne Frage an die Experten Datenbankprogrammierung 4
G Frage zum Datenbankdesign Datenbankprogrammierung 5
J DB Verbindung Design Frage Datenbankprogrammierung 5
M Datenbankanbindung in Java : Newbie-Frage Datenbankprogrammierung 2
U Grundsätzliche Frage Datenbankprogrammierung 4
S Frage zu INSERT Datenbankprogrammierung 2
X Wieder mal ne Frage ... Datenbankprogrammierung 15
B Wie kann ich eine Jtable mit Inhalt einer SQL Abfrage füllen Datenbankprogrammierung 14
J SQLite Abfrage fehlerhaft - komme nicht weiter - please help. Datenbankprogrammierung 3
L PostgreSQL Abfrage mit EclipseLink Datenbankprogrammierung 7
S Berechnung des Datumsunterschieds in der SQL-Abfrage Datenbankprogrammierung 1
Zrebna Probleme bei Überführung von SQL-Code in eine HQL-Abfrage Datenbankprogrammierung 3
btwX28 mysql abfrage über phpmyadmin Datenbankprogrammierung 8
M Alle Records Felder kriegen für DB Abfrage Datenbankprogrammierung 14
pkm PostgreSQL Kann mit mybatis einen Parameter für eine postgreSQL-Abfrage nicht übergeben. Datenbankprogrammierung 5
nonickatall MySQL SQL Abfrage erneut ausführen oder rs aktualisieren Datenbankprogrammierung 14
Kirby.exe Verständnisproblem bei SQL Abfrage Datenbankprogrammierung 27
N SQL-Abfrage in JTextField ausgeben Datenbankprogrammierung 6
N java sql abfrage bestimmer Datumszeitraum Datenbankprogrammierung 9
F Mapping einer SQL Abfrage in eine Klasse Datenbankprogrammierung 4
N Java Abfrage über GUI, Daten hinzufügen Datenbankprogrammierung 54
Bluedaishi Datenbank Abfrage Datenbankprogrammierung 36
W MySQL DB Abfrage in Array, gemischte Array, generelles vorgehen Datenbankprogrammierung 4
D SQL Abfrage optimieren Datenbankprogrammierung 35
D MySQL Abfrage Datenbankprogrammierung 5
D MySQL Abfrage sortieren Datenbankprogrammierung 4
D MySQL Abfrage SUM datediff Datenbankprogrammierung 3
D Regelmäßige Abfrage aus Workbench Datenbankprogrammierung 6
M SQL-Statement Hilfe bei SQL-Abfrage Datenbankprogrammierung 2
D Abfrage - Spalte(Datum) ändern (Oracle) Datenbankprogrammierung 7
D Datenbank Abfrage Datenbankprogrammierung 7
H MySQL Benutzer Login System mit Datenbank Informationen (Abfrage zu User ist auf DB gesichert) Datenbankprogrammierung 42

Ähnliche Java Themen

Neue Themen


Oben