Mit postgresql, muss ich eine Ansicht erstellen ‚no_cat_customers‘ genannt, die den Vornamen, den Nachnamen eines Kunden gibt, die jede Ausgabe des Buches nicht ‚Die Katze im Hut namens versendet wurde ". Dies sollte unter Verwendung einer universellen Quantifizierung erfolgen. Der Fehler, den ich bekomme, ist - "FEHLER: EXCEPT Typen Integer und Text kann nicht angepasst werden" in Bezug auf Zeile 7().SQL - Nested Sub-Abfragen
CREATE VIEW no_cat_customers(customer_first_name, customer_last_name)
AS SELECT first_name, last_name
FROM customers
WHERE EXISTS (SELECT c_id
FROM shipments
WHERE customers.c_id = shipments.c_id
EXCEPT (SELECT shipments.isbn
FROM books, editions, shipments
WHERE books.book_id = editions.book_id AND
editions.isbn = shipments.isbn AND
title LIKE '%The Cat in the Hat%'));
Ich verstehe, dass diese schwer zu fragen, ist, dass Sie die Datenbank mit diesem Ich verwende, aber jede Hilfe würde nicht haben angesichts sehr geschätzt!
EDIT: Ich sollte hinzufügen, dass es zwei Ausgaben von 'The Cat in the Hat' in der Datenbank, beide mit unterschiedlichen isbn ist. Das muss also berücksichtigt werden.
Muss * noch andere * Sendungen-> Artikel an diese Kunden geliefert worden sein? – wildplasser
@wildplasser nein, sie müssen nur auf der Kundenliste sein und nicht die Katze in den Hut bekommen – Brittany
In diesem Fall können Sie tun, nur mit 'wählen * von Kunden c wo nicht existiert (wählen * aus Sendungen s beitreten Bücher ON. .JOIN Editionen e ON ... WHERE c.cid = s.cid und b.title LIKE '% cat%'); '- >> Sie wollen ALLE Kunden, die das bestimmte Buch NICHT bestellt haben" – wildplasser