Ich habe die folgenden TabellenTabellen verbinden und SQL-Abfrage schreiben, um Daten abzurufen
customer
custID | name | address
Und
magazinesubscription
customerID | magazinename | cost | startdate | enddate
newspapersubscription
customerID | newspapername | cost | startdate | enddate
newspaper
newspapername | cost | publishedby
magazine
magazinename | cost | publishedby
Nun, was ich will, ist für jeden Kunden zu drucken, deren Name, Anschrift, ihre Zeitschriftenabonnement, ihre Zeitungsabonnements, die den Namen und den Herausgeber des Magazins und der Zeitung und das Enddatum für jedes dieser Abonnements enthalten.
Ich habe versucht, dies zu tun, aber es funktioniert nicht.
select * from customer
JOIN
(select customerID, newspapername, enddate, n.publishedby
from newspapersubscription ns and newspaper n
where published in(select publishedby
from newspaper
where ns.newspapername = n.newspapername)
UNION
select customerID, magazinename, enddate, m.publishedby
from magazinesubscription ms and magazine m
where published in(select publishedby
from magazine
where ms.newspapername = m.newspapername));
Warum denken Sie AND ist gültige Joining-Syntax? – APC