Frank (no reg): Intersect befehl für MySQL

Beitrag lesen

Hallo,

Und bitte nicht einfach eine Lösung hin klatschen sondern einfach mal für Neulinge erklärt wie man dieses verwirklichen kann anhand der unten stehenden Daten

Also eine Lösung auf einem kristallenen Tablett?

Zu allererst: Deine Datenbankstruktur ist suboptimal. Ein Buch ist ein Buch (im Sinne der Entität) und deshalb brauchts da nur 1 Tabelle "Buch" für. Wenn du eine Unterscheidung willst, dann führe ein Attribut (in Form einer Spalte ein), wo dann z.b. "SciFi" oder "Drama" drin stehen.

die ausgebenden Spalten sollen sein:

  • Seitenanzahl des Buch
  • Name des Buch
  • Name des Autors
  • ID des Autors

Also Attribute von mehr als einer Tabelle, das riecht nach einem INNER JOIN von Buch auf Author.

Wenn du die Tabellenstruktur berichtigst, wirst du bemerken, dass die Lösung ganz ganz simple ist:

... WHERE (buch.seiten BETWEEN 200 AND 300) AND (buch.author_id = 2)

Ciao, Frank