HILFE HILFE:
Bei mir funktioniert gar nichts, wie läuft das mit der korrelierten Unterabfrage?
Ich suche Nachname, Vorname, Artikelbezeichung, Preis wo der durchsnittspreis kleiner als der Preis ist.
SELECT Nachname & ' ' & Vorname, Artikelbezeichnung, Preis
FROM Kunde, Artikel
WHERE Kunde.KundeID=Kundenvorlage.FSKundeID
AND Vorlage.VorlageID=Kundenvorlage.FSVorlageID
AND Maße.MaßeID=Kundenvorlage.FSMaßeID
AND Maße.MaßeID=Maß_Hilfsmittel.FSMaßID
AND Hilfsmittel.HilfsmittelID=Maß_Hilfsmittel.FSHilfsmittelID
AND Artikel.ArtikelID=Maß_Hilfsmittel.FSArtikelID
AND Rechnung.RechnungID=Artikel.FSRechnungID
AND Preis>(SELECT AVG(Preis) FROM Artikel);
Kann mir auch noch jemand den Begriff EXISTS erklären?
Danke für die Hilfe,
anbei sind nochmals die Beziehungen.
Hallo,
die Beziehungen der Tabellen (bzw. Daten) finde ich zunächst etwas fragwürdig...
Ansonsten: öffne den Abfrageentwurf, ziehe alle (benötigten) Tabellen hinein (Tabellen hinzufügen) und definiere Verknüpfungen über die Verknüpfungslinien, wenn die nicht schon aus den Beziehungen übernommen wurden. Stelle bei den Eigenschaften der Bezeihungslinien die gewünschte Verknüpfungsart ein (inner , left, right join) und setze im Kriteriumsfeld (bzw. den Kr.-Feldern) den/die gewünschten Werte ein.
Sodann schau Dir die SQL-Ansicht der Abfrage an...
Exits wird True und zeigt somit den Datensatz an, wenn die (gefilterte) Unterabfrage Datensätze liefert.
Danke für deine Antwort, weisst du was bei den Beziehungen falsch ist?
Hallo,
nein, weil ich die Datenkonstellation Deiner Aufgabenstellung nicht kenne...
Danke
Auch hier wieder, es fehlen die Joins!
Danke Hondo für deine Hilfe, bei den Joins hat es funktioniert.
Kannst du mir nochmal bei der korrelierten Unterabfrage helfen, bitte!
Die Aufgabe heisst so:
Ermittle ein Select Statement, das die Artikelbezeichnung, Preis, Fertigstellungsdatum und Rechnungsdatum angibt. Jedoch sollte das Fertigstellungsdatum = Rechnungsdatum sein.
SELECT Artikelbezeichnung, Preis, Fertigstellungsdatum, Rechnungsdatum
FROM Artikel, Rechnung
WHERE Rechnung.RechnungID=Artikel.FSRechnungID
AND Fertigstellungsdatum=(SELECT Rechnungsdatum FROM Rechnung
WHERE Rechnung.RechnungID=Artikel.FSRechnungID);
Welchen Fehler hab ich hier gemacht?
Danke für deine Hilfe, lg
Sorry, ich helfe dir nicht solange du nicht die Joins in der Abfrage gesetzt hast. Das musst du zuerst machen!
Du kannst nicht einfach nach From alle Tabellen auflisten, sondern die verjointen Tabellen müssen in den Joins stehen. Warum machst du nicht was ich dir gesagt habe, indem du in einen neuen Abfrageentwurf die Tabellen einfügst, die Felder auswählst die angezeigt werden sollen und dann in die SQL-Ansicht wechselst?
Ich geb dir mal ein Beispiel:
SELECT A.Firma, A.Ort, R.Rechnungsnummer, R.Rechnungsdatum, P.Rechnungsposition, P.Anzahl, P.Einheit, P.Einzelpreis
FROM (
Adressen AS A
Right JOIN Rechnungen As R ON A.ID = R.AdressID
)
INNER JOIN Rechnungspositionen As P ON R.ID = P.RechnungsID
WHERE R.Rechnungsnummer=1050
Danke! :-)