Juni 30, 2022, 21:02:41

Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!


Darstellung der Abfrage

Begonnen von Xoar, April 27, 2022, 14:29:10

⏪ vorheriges - nächstes ⏩

Xoar

April 27, 2022, 14:29:10 Letzte Bearbeitung: April 28, 2022, 07:20:18 von Xoar
Hallo zusammen,

ich stehe gerade auf´m Schlauch.
Ich möchte gerne eine Abfrage, die später in einem gruppierten Bericht endet erstellen.

Diesen Code benutze ich zur Zeit. Allerdings enspricht das Ergebnis nicht meinen Vorstellungen.
SELECT tM.MonatName, t1.Einsatznummer AS HF1, t2.Einsatznummer AS HF2
FROM dbo_viewNichtErreichteHF1_ENR_monatlich AS t1 RIGHT JOIN (dbo_viewNichtErreichteHF2_ENR_monatlich AS t2 RIGHT JOIN dbo_tblMonateJanDez AS tM ON t2.MonatEinsatz = tM.MonateID) ON t1.MonatEinsatz = tM.MonateID
GROUP BY tM.MonatName, t1.Einsatznummer, t2.Einsatznummer;

Ich möchte gerne das die Einsatznummer bei HF2 als dritter Januareintrag hinzugefügt wird und nicht bei den anderen beiden Januareinträgen im HF2 Feld.
Sie dürfen in diesem Board keine Dateianhänge sehen.

Könnt ihr mir einen Tipp geben?

Grüße

ebs17

Gruppierter Bericht <> gruppierte Abfrage ... wobei ich hier den Sinn einer Gruppierung noch nicht erfasst habe.

Wie das aussieht: Verwende eine UNION-Abfrage.
Mit freundlichem Glück Auf!

Eberhard

Xoar

Hi,

habs ausprobiert, klappt auch nach meiner ersten Fragestellung.

ABER

ich habe vergessen zu erwähnen, dass eine Nummer die in HF1 steht, auch in HF2 stehen kann und diese dann auch in der selben Zeile stehen sollte... Damit klappt das mit UNION ALL leider nicht mehr so wie ich mir das gewünscht hatte.

Sie dürfen in diesem Board keine Dateianhänge sehen.

ebs17

tM LEFT JOIN t1 über Monat, analog tM LEFT JOIN t2
Die beiden Abfragen joinst Du über Monat und HF.

Jetzt wäre nach Datenlage noch Vollständigkeit in HF zu beurteilen. Ein INNER JOIN oder einfacher OUTER JOIN wird es vmtl. nicht machen, so dass Du einen FULL OUTER JOIN brauchst, den es in Jet nicht gibt und der zusammengesetzt erstellt werden müsste.

So etwas Statisches wie gezeigt muss man aber auch nicht in Access zusammenbauen. Erstelle eine View im SQL Server und verknüpfe diese.
Mit freundlichem Glück Auf!

Eberhard

Xoar

Hi,

ok da muss ich erstmal etwas lesen mit FULL OUTER JOIN.


Xoar

Hallo,

nun klappt alles, vielen Dank für den OUTER JOIN Tipp.

SELECT
  HF1.Einsatznummer AS EnrHF1, HF2.Einsatznummer AS EnrHF2, COALESCE (HF1.MonatEinsatz, HF2.MonatEinsatz) AS MonatsWert
FROM           
  dbo.viewNichtErreichteHF1_ENR_monatlich AS HF1
FULL OUTER JOIN
  dbo.viewNichtErreichteHF2_ENR_monatlich AS HF2
 ON HF1.Einsatznummer = HF2.Einsatznummer

Grüße