Ich bin neu in diesem Forum und ich würde wissen, wenn es möglich ist, eine schnelle Hilfe zu erhalten, um eine SQL-Abfrage in Bezug auf eine Oracle-Umgebung zu machen.SQL-Abfrage (Selfjoin)
Ich habe dies folgende Abfrage zum Beispiel:
SELECT table3.numero
FROM table1 table1
INNER JOIN table2 ON table2.id = table1.tbl1_id
INNER JOIN table3 ON table3.id = table2.tbl2_id;
Ich möchte eine neue Bedingung hinzuzufügen in der select (table3.numero) basierend auf dem Wert eines Feldes namens Optionen, um das gleiche Feld anzuzeigen bestehenden in der Tabelle1.
Das Optionsfeld enthält gemischte Werte (null und table1.id). Zwischen diesen Werten besteht eine Verbindung. Table1.id im Optionsfeld repräsentiert die Tabelle1.id von Datensätzen mit einem Wert von null. Wir können berücksichtigen, dass Datensätze mit einem Nullwert die Eltern von Datensätzen mit einem anderen Wert als Null sind.
Also, meine Frage ist zu wissen, ob es möglich ist, in der Auswahl eines anderen table3.numero hinzufügen, die Wert für Eltern Datensätze und ein anderes für Kinder Datensätze darstellen wird.
Ich weiß nicht genau, wie man diese Abfrage durchführt.
Vielen Dank für Hilfe.
Testdaten für tabelle1
id options
------ -------
151515 151516
151516
151517
151518 151517
table3
numero
------
4333
2452
4245
1121
table3.numero (Eltern = table1.option ist null)
8844
5515
1518
1444
table3.numero (Kinder => tabelle1 .option)
8789
5454
3654
2114
fügen Sie einige Beispieldaten hinzu, Ihre Anforderung ist nicht klar. – Stephen
Die kurze Antwort ist, dass es höchstwahrscheinlich möglich ist, aber Sie müssen genauer sein. Beispiel für Daten und Beispiel der gewünschten Ausgabe anzeigen – Jonny
Wie diese Abfrage zum Beispiel: SELECT table3.numero, table3.numero (übergeordnet), table3.numero (untergeordnete) FROM table1 table1 INNER JOIN table1 table12 ON table12.id = table1 .id und table1.options sind null (Eltern) und table1.options = table1.id (enthält die ID der übergeordneten Datensätze) –