Tabelleninhalte zusammenfassen

28/03/2008 - 22:50 von Günther Pachschwöll | Report spam
Hallo NG.
Ich habe ein Problem mit Access 2003, bei dem ich nicht weiterkomme.
Ich habe ca. 5 Tabellen aus einer Arztkartei, die ich in einer Tabelle
zusammenfassen möchte
Tabellennamen sind Diagnose, Verordnung, Befund, Medizin und Patient.
In jeder dieser Tabellen gibt es die Felder: Datum, PatientID und
Textfeld
ich möchte als Ergebnis einer Abfrage folgeden Tabelle erhalten:

Datum - PatientID - Textfeld.Diagnose - Textfeld.Verordnung -
Textfeld.Befund - Textfeld.Medizin

Es ist aber so, dass nicht bei jedem Datumseintrag in jeder Tabelle
Daten im Textfeld sind. Das schaut jetzt vereinfacht dargestellt so
aus:

Datum - PatientID - Textfeld.Diagnose - Textfeld.Verordnung -
Textfeld.Befund - Textfeld.Medizin
21.03. 7
krank
Angina Hustensaft
22.03.
1
Antibiotikum
24.03. 18 müde
Schonung Frühjahrsmüde
25.03. 25 krank
Krankenstand Angina Hustensaft
26.03. 9
krank
Angina Hustensaft
.

Jetzt habe ich mit googeln schon eine Union Abfrage erstellt, mit der
ich aus allen Tabellen herausfiltere an welchen Datums und mit welcher
PatientID Eintràge vorhanden sind. Ich habe schon mit Abfragen einiges
probiert (Verknüpfen etc.) aber noch keine Lösung dazu gefunden.

Hat jemand einen Tip, Beispiel oder Lösungsansatz? Ich bin für jede
Hilfe dankbar. Ich hoffe ich habe alles verstàndlich beschrieben was
ich damit erreichen will.

Günther
 

Lesen sie die antworten

#1 Michael v. Fondern
28/03/2008 - 23:30 | Warnen spam
Hallo Günther,

Jetzt habe ich mit googeln schon eine Union Abfrage erstellt, mit der
ich aus allen Tabellen herausfiltere an welchen Datums und mit welcher
PatientID Eintràge vorhanden sind. Ich habe schon mit Abfragen einiges
probiert (Verknüpfen etc.) aber noch keine Lösung dazu gefunden.

Hat jemand einen Tip, Beispiel oder Lösungsansatz? Ich bin für jede
Hilfe dankbar. Ich hoffe ich habe alles verstàndlich beschrieben was
ich damit erreichen will.



Mal exemplarisch für Diagnose und Verordnung:

Nehmen wir mal an, deine UNION-Abfrage heisst "DatumPatient" und sieht
etwa so aus:

SELECT Datum,PatientID FROM Diagnose UNION Select Datum,PatientID FROM
Verordnung;

Dann kannst du dieser Abfrage mittels "LEFT JOIN" jetzt schrittweise die
Texte hinzufügen:

Erst mal nur der Diagnose-Text:

SELECT DP.Datum, DP.PatientID, D.Text
FROM DatumPatient AS DP LEFT JOIN Diagnose AS D ON
DP.Datum = D.Datum AND DP.PatientID = D.PatientID


und jetzt noch der Verordnungstext:


SELECT DP.Datum, DP.PatientID, D.Text, V.TEXT
FROM DatumPatient AS DP LEFT JOIN
(Diagnose AS D LEFT JOIN Verordnung AS V
ON D.Datum = V.Datum AND D.PatientID = V.PatientID)
ON DP.Datum = D.Datum AND DP.PatientID = D.PatientID


Die Erweiterung um "Befund" und "Medizin geht dann analog.

Grüße

- Michael -

Ähnliche fragen