MySQL SQL Query

OnDemand

Top Contributor
Hallo zusammen,

vorab; sind kein Hausaufgaben!

Nun zum Problem:
Also ich habe 2 Tabellen

categories
-categories_id
-parent_id

categories_beschreibung
-categories_id
-categories_name

Nun habe ich mehrere Fahrzeuge die in die folgenden Kategorien gehören:
1. Fahrzeug
kat1: Nutzfahrzeug
kat2: Transporter
kat3: Personentransporter

2. Fahrzeug
kat1: Busse
kat2: Transporter
kat3: Personentransporter

Nun müssen diese Kategorien in die oben genannten Tabellen. Problem dabei ist, dass Kategorie "Transporter" unter Nutzfahrzeuge als auch unter Busse gehört. Nun muss ich das mit der Parent-ID unterscheiden, aber ich habe keinen Plan von Mysql, wenn es um so komplizierte Query geht.
Die Kategorien habe ich in einem Array, der erste Index ist immer Parent_id 0 (absoloute Hauptkategorie)

Bisher habe ich folgenden Ansatz versucht:
Code:
for( //Iteriere über array mit den 3 Kategorien... )
result = stmtnt.executeQuery(SELECT * FROM categories WHERE categories_id=(SELECT C.categories_id FROM categories_beschreibung AS C WHERE categories_name='" + auto.getCategoriesArray()[i] + "' AND (SELECT categories_id FROM categories WHERE categories_id=C.categories_id)) AND parent_id=" + parentID)

if(result.next()){
//Die Unterkategorie ist bereits drin mit der passenden Hauptkategorie

} else {
einfügen
}


Mein Hauptproblem ist der Query, welcher die aktuelle Kategorie mit der parent_id abgleicht. Ich hoffe irgendwer versteht was ich will, ich verstehe den Wald vor Bäumen selber nicht mehr
 
Die Aufgabenstellung ist mir nicht klar. Es gibt zu viele Möglichkeiten, wie das gemeint sein kann. Wie sollen die beiden Tabellen denn aussehen, sobald die Daten der beiden Fahrzeuge eingefügt sind? Und welche Infornationen hast du im Java-Programm zu einem Auto bereits zur Verfügung? Nur die Kategorienamen oder auch die IDs? Und woher kommt das ParentID ganz hinten im SQL-statement?
 
Die parent id ist vorhanden, frage ich zuvor ab (lege die parent-kategorie an und hole die id)

hab es jetzt mit einer hilffspalte in categories_beschreibung gelöst, dort wird die parent_id zur categorie_id eingetragen (obwohl die beiden daten schon in der tabelle categories sind)
eigentlich würde mir ein JOIN reichen, welches mir parent_id aus categories mittels categories_id holt.

Das muss ich mir echt irgendwann nochmal anschauen wenn ich mehr ruhe habe.
 

Zurück
Oben