Frank The Tank: Geht es auch elegenater

Beitrag lesen

Ich wuerde sagen, das Datenmodell hat Unzulaenglichkeiten die gegen mindestens die 3. Normalform verstossen:

zwischenziele.zwz1 ... zwz2

deuten auf spalten hin. Dies sollte hingegen besser in Form von Datensaetzen (einzelne Rows/Records) gemacht werden:

Adressen
----------------------

  • id
  • strasse
  • hausnummer
  • plz
  • stadt
  • land

Profile
----------------------

  • id
  • sonstige attribute

Profile_Zwischenziele
----------------------

  • Profil_ID
  • Adressen_ID
  • von mir aus noch ne reihenfolge (SORTORDER)

Dann koennte deine Abfrage ungefaehr so lauten:

SELECT P1.SORTORDER, A.strasse, hausnummer
  FROM Profile_Zwischenziele P1
  INNER JOIN Adressen A ON A.ID = P1.Adressen_ID
  WHERE P1.Profil_ID = $id
  ORDER BY P1.SORTORDER

Cheers, Frank