SQL-Funcktion

pchilfe

Erfahrenes Mitglied
Hallo an Alle,

Ich habe gespeicherte Daten in der gleichen Tabelle im Form eines Baumes wie folgt:

Produkt_id Baum_Ebenen_Nr Parent_id Produkt_bez
64 0 0 Bez1
65 1 64 Bez2
66 2 65 Bez3
67 3 66

Mein Problem ist wie kann ich folgende SQL-Abfragen in einer SQL-Funktion packen:

select * from Produkt_Parent where Produkt_id = 64
select * from Produkt_Parent where Produkt_id = 65
select * from Produkt_Parent where Produkt_id = 66
select * from Produkt_Parent where Produkt_id = 66

Mann muss immer 1 zu den Vaterknoten addieren. Ich weiss nicht wie man SQL-Funktion für diese aufgabe schreibt und ich weiss nicht wieviele Ebenen die Daten haben.

Kann jemand mir helfen bitte.

Vielen Dank für jeder Antwort
 
Hallo an Alle,

Ich habe gespeicherte Daten in der gleichen Tabelle im Form eines Baumes wie folgt:

Produkt_id Baum_Ebenen_Nr Parent_id Produkt_bez
64 0 0 Bez1
65 1 64 Bez2
66 2 65 Bez3
67 3 66

Mein Problem ist wie kann ich folgende SQL-Abfragen in einer SQL-Funktion packen:

select * from Produkt_Parent where Produkt_id = 64
select * from Produkt_Parent where Produkt_id = 65
select * from Produkt_Parent where Produkt_id = 66
select * from Produkt_Parent where Produkt_id = 66

Mann muss immer 1 zu den Vaterknoten addieren. Ich weiss nicht wie man SQL-Funktion für diese aufgabe schreibt und ich weiss nicht wieviele Ebenen die Daten haben.

Kann jemand mir helfen bitte.

Vielen Dank für jeder Antwort

Welche Datenbank benutzt du ?


Gruss
 
Moin,

vielleicht habe ich ja die Frage falsch verstanden, aber warum willst Du X einzelne Abfragen senden :confused:

Wäre nicht eine Abfrage mit "... WHERE PRODUKT_ID >= 64 ..." irgendwie sinniger ? ? ?

Gruß
Klaus
 
Die Daten sind in einer Art Baumstrucktur gespeichert Ich muss mal Produkt_Id selektieren und mal Parent_id selektieren

Ein Freund sagte mir ich muss das mit einem Rekursiven SQL-Funktion lösen aber ich weiss nicht wie ich in SQL die Rekursive Funktion schreibe.
 
Erstelle eine Stored Procedure die nachdem nächstem Element sucht, wenn keins vorhanden ist, soll es das Element zurückgeben. Ist ein weiteres Element vorhanden soll die Procedure sich selber aufrufen und das nächste Element welches eben gefunden wurde als Übergabeparameter übergeben.
 
danke sehr für die Antwort. Kannst du bitte mal mir ein kleines syntax beispiel geben
wie ich Stored Procedure in rekursiver aufruf schreiben kann.

danke sehr
 
Guck dir doch bitte den Link an den ich meinem vorherigem Beitrag geschrieben habe. Dort ist alles Step by Step erklärt.
Rekursiv bedeutet nur, dass die Methode bzw Procedure sich selbst aufruft.
 

Neue Beiträge

Zurück