Access + Abfrage

Aurra

Grünschnabel
Hallo,

komme hier irgendwie nicht weiter:

Zwei Tabellen

Tabelle 1 Raum
ID (Auto)
Raum z.B. D100, C201,E444
qm 44,43

Tablle 2 Mitarbeiter
ID (auto)
Name Hans, Müller
KST z.b. 10
Raum z.B. D100


Also jeder Mitarbeiter ist einer KST und einem Raum zugewissen. Auf einen Raum können mehrere Mitarbeiter mit gleich oder unterschiedlicher KST sein. Einer KST können mehrere Mitarbeiter zugeordnet sein.

Als Ergebnis soll eine Tabelle rauskommen mit
KST, Summe qm

Beispiel
ID 1
Name Hans, Müller
KST 10
Raum D100
-------------------------------
ID 2
Name Thomas, Keulen
KST 11
Raum D100
------------------------------
ID 3
Name Tim, Meier
KST 10
Raum D101
------------------------
Raum D100
qm 40
--------------------------
Raum D101
qm 30


Ergebnis der Abfrage->
KST qm
10 50
11 20
... ....


Wäre wirklich dankbar, wenn mir jemand einen Tip geben kann wie die Abfrage hierzu aussehen muss. Geht das überhaupt ohne weiteres?
 
Hallo,
das geht, soweit ich weiß!
1. Verknüpfe die beiden Tabellen über das Feld Raum (Problem dabei könnte die Schreibweise sein, wenn z. B. in der einen Tabelle D 212 und in der anderen D212 steht. Hier würde sich ev. eine eigene Tabelle mit den Raumbezeichnungen anbieten und in den beiden Tabellen sollte nur eine IDRaum vorhanden sein.).
2. Gruppiere nach Raum.
3. Bilde die Summe je Gruppe
 
Zuletzt bearbeitet:
die verknüpfung über Raum geht schreibweise ist identisch.
allerdings reicht gruppieren nach raum und summe je gruppe nicht aus, weil wie gesagt die Räume eine bestimmte qm Fläche haben die ich durch anzahl der personen in den räumen dividieren muss und darüber erst die summe bilden kann. das ist mein eigentliches Problem ich habe keine ahnung wie ich sowas in eine abfrage einbauen kann.
 
Hallo,
auch das sollte möglich sein.
Mein Vorschlag:
Eine Abfrage bauen, welche
1. die Anzahl der Personen pro Raum zählt.
2. die Fläche durch die Anzahl teilt - also die qm pro Person ermittelt.
Wenn du die Kostenstelle in dieser Abfrage auch gleich mitnimmst, kannst du daraus die Fläche je Kostenstelle berechnen (gruppieren und Summe bilden) oder du verwendest diese Abfrage in einer weiteren Abfrage so wie eine Tabelle.
 
Ok ich bin nun etwas weiter gekommen:

SELECT [raum].[raum], count([notes].[name])AS anzahl
FROM raum, notes
WHERE [raum].[raum]=[notes].[raum]
GROUP BY [raum].[raum];

Ergebnis:Tabbelle personenproraum
raum anzahl
C401 6
C403 6
C417 1
C418 2
C419 1
C420 2
C421 1

SELECT [raum].[raum], sum([raum].[qm]/[personenproraum].[anzahl]) AS qmp
FROM raum, personenproraum
WHERE [raum].[raum]=[personenproraum].[raum]
GROUP BY [raum].[raum];

Ergebnis: qmp
raum qmp
C401 3,666666667
C403 3,666666667
C417 22
C418 11
C419 22
C420 11
C421 22

Tabelle:KST
ID Name KST
1 Hans 30100
2 Tom 30110
3 Petra 30110
4 Dieter 30110
5 Thilo 30110
6 Hermann 30110
7 Thomas 30000


SELECT KST.KST, sum(qmp.qmp * personenproraum.anzahl)
FROM personenproraum INNER JOIN (qmp INNER JOIN (KST INNER JOIN notes ON KST.Name = notes.Name) ON qmp.raum = notes.Raum) ON personenproraum.raum = qmp.raum
GROUP BY KST.KST;

KST Expr1001
30000 22
30100 22
30110 88

Das ist leider falsch. Irgendwie komme ich auch nicht drauf was genau net richtig ist. Vermute mal ich muss noch irgendwo die KST in der Berechnung SUM mit einbeziehn nur wie? :confused:
 
Hallo,
die Berechnung der Summe mit
Code:
sum(qmp.qmp * personenproraum.anzahl)
ist falsch. personenproraum.anzahl ist nicht kostenstellenabhängig und daher auch das Ergebnis der Multiplikation falsch.
Versuchs mit folgender Abfrage
Code:
SELECT KST.KST, sum(qmp) FROM KST, qmp
  WHERE KST.Raum = qmp.Raum
  GROUP BY KST.KST
Bin mir bei der Syntax nicht sicher aber die Summe der qm pro Kostenstelle sollte so oder so ähnlich herauskommen.
 
Problem bei deinem Vorschlag ist, dass in KST keine Raumnaummern enthalten sind weil die KST sich auf die Mitarbeiter bezieht.

glaube

Code:
SELECT KST.KST, sum(qmp) FROM KST, qmp, notes
  WHERE notes.Raum = qmp.Raum and notes.name=kst.name
  GROUP BY KST.KST;

scheint zu stimmen.

Danke für deine Hilfe.
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück