Du meinst in der Tabelle "nachname"-> nachname1 und nachname2, sowie in der Tabelle "vorname"-> vorname1, vorname2?
Jupp.
Du holst aus den Tabellen "vorname" und "nachname" für beide Personen raus und benennst sie im SELECT um.
(
table1.vorname AS vorname1, table1.nachname AS nachname1, table2.vorname AS vorname2, table2.nachname AS nachname2,
oder wie auch immer)
Innerhalb deines
SQL-Aufrufest kann man über Namespace/Tabellenname/Tabellenalias zwar geziehtl auf "Felder" einer bestimmten Tabelle zugreifen, aber die zurückgegebene "Tabelle" (Result-Tabelle) hat erstmal grudsätzlich keine Namespace/Tabellenname/Tabellenalias mehr drinnen, so daß jedes Feld einen eindeutigen Namen benötigt.
Genauso wie man innerhalb des
SQL-Befehls ein Namespace/Tabellenname/Tabellenalias angeben muß, wenn ein Feld nicht eindeutig zuordenbar ist, weil es in mehreren der geladenen Tabellen vorkommt.
Aber dann haben alle Autoren leere E-Mails, Telefon usw... das darf mach doch nicht zulassen, oder?
Und was ist, wenn du von einem Autor doch mal eine E-Mail oder gar seine Telefonnummer hast?
Nja, praktisch gemeinsame Dinge würden in die "Personennamen"-Tabelle reinkommen, also mindestens alles, was zum Namen gehört.
(Vor-, Nachname, Titel, Anrede)
Was ist eigentlich mit zweiten Vornamen und Dergleichen?
Du könntest ja eine Kontaktdaten-Tabelle machen (eMail, Telefon, Adresse, ...) und dann dem Entleiher als NOT NULL zuordnen, sowie den Autor als NULL, fall doch mal Eine dazukommt.
Bzw. Eben die "Personen" zusammen in eine Tabelle mit einer NULL--Referenz auf die Kontakte und von Autor, sowie Entleiher nur eine Referenz auf die Personentabelle.
Ach ja, wie oft kommt es denn vor, daß Bücher gleich heißen?
Die Buchtiteltabelle ist ja praktisch auch unnötig kompliziert, anstatt den Titel direkt in Buch drinnen zu haben.