Lime
frisch fruchtig
Mein Vorschlag entspricht der 3. Normalform, deiner ... denk ich mal, ich kann es aber nicht genau sagen ... eher nicht.
Ich kann dir auch kein SQL-Statement zu meiner Struktur geben, weil ich nicht weiß welchen Join man verwenden muss... Ich schätz ja mal einen Left-/Right-Join, nur kenne ich mich damit zu wenig aus.
Du hast den Nachteil deiner Idee eh genannt, den hast du anders nicht.
Tabelle: Magicgarten (aufs wichtigste zugeschnitten)
ID -- Name
1 -- Karte1
2 -- Karte2
Tabelle: Untertypen
ID -- Untertyp
1 -- Mensch
2 -- Ritter
3 -- Zombie
4 -- Elfe
/* frei erfunden */
Tabelle: Untertypen_Link
ID -- KartenID -- UntertypenID
1 -- 1 -- 2
2 -- 1 -- 3
3 -- 2 -- 1
4 -- 2 -- 4
/* frei erfunden */
Die Frage ist natürlich, nach was du jetzt suchen willst, sprich welche Grundinformationen (Bedingungen) hast du.
Beispiele:
- Alle Karten mit der Untergruppe Mensch.
- Alle Untertypen für die Karte mit der ID 237.
- Anzahl der Untertypen für die Karte der ID 237.
- Alle Karten, die nicht die Untergruppe Mensch haben.
Je nachdem, brauchst du halt ein komplett anderes SQL-Statement.
lg
Ich kann dir auch kein SQL-Statement zu meiner Struktur geben, weil ich nicht weiß welchen Join man verwenden muss... Ich schätz ja mal einen Left-/Right-Join, nur kenne ich mich damit zu wenig aus.
Du hast den Nachteil deiner Idee eh genannt, den hast du anders nicht.
Tabelle: Magicgarten (aufs wichtigste zugeschnitten)
ID -- Name
1 -- Karte1
2 -- Karte2
Tabelle: Untertypen
ID -- Untertyp
1 -- Mensch
2 -- Ritter
3 -- Zombie
4 -- Elfe
/* frei erfunden */
Tabelle: Untertypen_Link
ID -- KartenID -- UntertypenID
1 -- 1 -- 2
2 -- 1 -- 3
3 -- 2 -- 1
4 -- 2 -- 4
/* frei erfunden */
Die Frage ist natürlich, nach was du jetzt suchen willst, sprich welche Grundinformationen (Bedingungen) hast du.
Beispiele:
- Alle Karten mit der Untergruppe Mensch.
- Alle Untertypen für die Karte mit der ID 237.
- Anzahl der Untertypen für die Karte der ID 237.
- Alle Karten, die nicht die Untergruppe Mensch haben.
Je nachdem, brauchst du halt ein komplett anderes SQL-Statement.
lg