Tach!
Vielleicht jemand, der nicht nur Joins kennt, sondern auch Correlated Subquerys.
Möglicherweise hat Herr Zwirbel sie aber auch falsch verstanden. Ein Beispiel wäre hilfreich gewesen.
Eine Suche wäre hilfreich gewesen. Beispielsweise Correlated Subquery in der englischen Wikipedia. Auf deinen Fall passt das zweite Beispiel mit der Subquery im SELECT-Teil. Die haben dort mit AVG() eine Aggregatfunktion verwendet, aber man kann auch direkte Werte aus einzelnen Datensätzen abfragen, bei dir also den Preis.
... dann empiehlt es sich, die Angebote, also die Zwerge, als Hauptquery zu nehmen und die zusätzlichen Daten zu joinen
Nun, die Filialangebote sind doch eigentlich die Preise, nicht die Zwerge?
Kauft man Preise oder kauft man Produkte?
Wie macht man es denn ohne Datenbank, beispielsweise bei einer herkömmlichen Preisliste? Man listet erstmal alle Produkte auf, zunächst ohne Preise. In diesem Zustand kann man das Papier auch als Vorlage beiseite legen, wenn es mal neue Preise zu den Produkten gibt. Man kann es auch in der Form an die Filialen schicken, die ihre Preise eintragen können. Jedenfalls macht man nun seine Kalkulation und bestimmt die Verkaufspreise, die man zu den Produkten in die Zeile schreibt.
Genauso kann man das auch mit Datenbank machen. Erstmal eien Liste der Produkte erstellen, dann in einem zweiten Schritt die Subquery erstellen, die den Preis pro Produkt holt/ermittelt. Das kann man zunächst unabhängig von der Hauptquery machen, indem man als Bedingung für den Fremdschlüssel erstmal einen festen Wert nimmt. Anschließend fügt man die Subquery in die Select-Klausel ein und nimmt da dann den Wert aus der Hauptquery.
Man kann natürlich auch Joinen, aber ich finde es mit Subquery verständlicher, weil es den direkten Wunsch angibt. Ein Join ist eher ein indirektes Mittel zur Zielereichung.
dedlfix.