Ich habe ein paar Antworten zu diesem Thema durchsucht, aber alle empfehlen die Verwendung von UNION-Abfragen, und ich bin mir ziemlich sicher, dass dies nicht der Fall ist, da die Tabellen Daten extrahieren von sind grundsätzlich anders. Ich werde versuchen, es so gut wie möglich zu erklären.Access-Bericht aus mehreren Abfragen generieren
Ich habe drei Tabellen:
- Kunden
- Termine
- Käufe
ich für den Benutzer möchten in der Lage sein einen einzigen Kunden auszuwählen und präsentiert werden mit einem Bericht mit folgenden Informationen:
- die alle Kundeninformationen (Name, E-Mail, Adresse etc.)
- die vom Kunden die alle ausgebucht Alle Termine
- vom Kunden getätigte Käufe
Das Problem tritt auf, wenn ein Kunde keinen Termin oder einen Einkauf in der Datenbank hat, da die einzige Abfrage, die ich gerade nutze, folgendes ist:
SELECT (info needed)
FROM (Customer INNER JOIN Purchase ON Customer.ID = Purchase.customerID)
INNER JOIN Appointment ON Customer.ID = Appointment.customerID;
Wenn ein Kunde seine customerID nicht in der Tabelle Purchase oder Appointment hat, gibt die resultierende Abfrage eine leere Tabelle zurück, da JOIN keine gemeinsamen Daten zwischen den Tabellen sehen kann.
Ich bin mir nicht sicher, was die beste Vorgehensweise wäre, und ich hoffe, dass hier jemand etwas Licht auf das, was die besten Praktiken in dieser Art von Situation sind, weiß, danke im Voraus.
Vorgeschlagene Bearbeitung, um einige Beispieldaten und gewünschte Ergebnisse hinzuzufügen.
Kunden
ID Name email address
1 Bob [email protected] 70 bowman st.
2 Tom [email protected] 44 shirley av.
3 Mary [email protected] 4 goldfield rd.
Käufe
customerID itemID price
1 23 100
1 24 150
3 34 85
Termine
customerID date
1 2/10
2 3/10
3 3/10
Nun, wenn ich mit customerID abfragen = 2 Ich möchte die folgende Info
Kundeninfo
name email address
Tom [email protected] 44 shirley av.
Käufe
empty
Appointments
date
3/10
Bearbeiten Sie Ihre Frage und liefern Beispieldaten und gewünschte Ergebnisse. –