Zeilen in Spalten verschieben

Wir sammeln alle Infos der Bonusepisode von Pokémon Karmesin und Purpur für euch!

Zu der Infoseite von „Die Mo-Mo-Manie“
  • Hallöle,


    ich habe hier mal eine Frage zu MySql mit einem ziemlich simplen Beispiel.
    Ich habe eine Tabelle pokemon:
    id | identifier | ... | ...
    Und eine Tabelle pokemon_types:
    type_id | pokemon_id | slot | ...
    Slot beschreibt dabei die Position des Typens, also eins und ggf. zwei.


    Damit ich die Ergebnisse dann einfach durchsuchen kann, hätte ich also gerne soetwas:
    id | identifier | ... | type_1 | type_2 | ... | ...
    Wenn es keinen zweiten Typ gibt, soll dort stattdessen NULL stehen. Ist das unkompliziert möglich, oder gibt es vielleicht noch eine einfachere Lösung, damit ich z.B. nach Typ sortieren kann?


    Lg

  • Wäre es nicht viel sinnvoller, direkt Pokemon so zu definieren? Also id | identifer | primary_type | secondary_type | ..., und in der Typ-Tabelle dann nur noch die Informationen zu haben, die tatsächlich zu dem Typ gehören (da Käfer immer Käfer ist, unabhängig davon, ob du nun n Raupy oder Pudox hast)


    Ansonsten: Ja geht.

    Code
    SELECT p.*, t1.name AS type_1, t2.name AS type2
      FROM pokemon p
        INNER JOIN pokemon_type AS t1 ON t1.pokemon_id = p.id AND t1.slot = 1
        LEFT OUTER JOIN pokemon_type AS t2 ON t2.pokemon_id = p.id AND t2.slot = 2

    FC (PKMN Y): 3282-3144-2343 — Safarityp: Pflanze (Maracamba, Folikon, Tangela) — Bei Interesse schickt mir einfach ne PM ;)


    Testet meine Pokemon-Checkliste für Gen. 1 bis 6 (für Sammler, und solche die es werden wollen – jetzt mit vollständiger Habitatsliste für alle Editionen – OR/AS noch minimal unvollständig)