collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 82
  • Punkt Versteckte: 0
  • Punkt Mitglieder: 0

Es sind keine Mitglieder online.

* Forenstatistik

  • stats Mitglieder insgesamt: 14419
  • stats Beiträge insgesamt: 71647
  • stats Themen insgesamt: 9667
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 17
  • stats Am meisten online: 415

Autor Thema: JOIN mit Teilergebnissen aus einer Tabelle  (Gelesen 2069 mal)

Offline Collector_X

  • Newbie
  • Beiträge: 1
JOIN mit Teilergebnissen aus einer Tabelle
« am: April 09, 2012, 13:29:53 »
Hallo,

ich bräuchte Hilfe weil ich hier eine Nuss zu knacken habe die mir zu hart ist (Access Anfänger). Ich habe EINE Tabelle die pro Jahr, Quartal und Abrechnungsziffer eine Anzahl enthält. Ich möchte nun zwei vorgegebene Quartale vergleichen. Im Beispiel unten 2011 Q1 mit 2012 Q1.

Tabelle:

Jahr Quartal Ziffer Anzahl
2011       1   1000     10
2011       1   1001      5
2011       2   1000      3
2012       1   1000      7
2012       1   1003     20
2012       3   1000      5

Gewünschtes Ergebnis

Jahr Quartal Ziffer Anzahl Jahr Quartal Ziffer Anzahl
2011       1   1000     10 2012       1   1000      7
2011       1   1001      5
                           2012       1   1003     20

Mit einem LEFT/RIGHT/INNER JOIN erhalte ich ein entsprechendes Ergebnis für alle Ziffern die im Jahr 2011 UND 2012 einen Wert für Anzahl haben. Für die beiden anderen Konstellationen (nur Wert in 2011 oder nur Wert in 2012) allerdings habe ich keine Lösung. Ich habe auch mit UNION experimentiert, leider vergebens, ich erhalte immer nur folgendes Ergebnis:

Jahr Quartal Ziffer Anzahl Jahr Quartal Ziffer Anzahl
2011       1   1000     10 2012       1   1000      7

Mit:

SELECT T1.*, T2.*
FROM   ABRECHNUNG AS T1
       LEFT JOIN ABRECHNUNG AS T2
       ON T1.GNR = T2.GNR
WHERE  (T2.Jahr = 2012 AND T2.Quartal=1 AND T1.Jahr = 2011 AND T1.Quartal = 1) OR (T2.Jahr Is NULL AND T2.Quartal Is NULL)
UNION SELECT T1.*, T2.*
FROM   ABRECHNUNG AS T1
       RIGHT JOIN ABRECHNUNG AS T2
       ON T1.GNR = T2.GNR
WHERE  (T2.Jahr = 2012 AND T2.Quartal=1 AND T1.Jahr = 2011 AND T1.Quartal = 1) OR (T1.Jahr Is NULL AND T1.Quartal Is NULL);

Hier der Link auf die DB in Dropbox: http://dl.dropbox.com/u/53889920/Praxis-Auswertungen_003.mdb

Hat mir jemand eine Lösung?

Vielen Dank, Till
 

Offline Wurliwurm

  • Access-Profi
  • **
  • Beiträge: 405
Re: JOIN mit Teilergebnissen aus einer Tabelle
« Antwort #1 am: April 09, 2012, 13:57:32 »
Dein Problem ist ein Standardproblem. Mit SQL allein ist das nicht lösbar, weil das SQL das "Gitter" (~Gewünschtes Ergebnis) nicht kennt, sondern nur aufaddieren kann, was da ist.

Die Lösung dafür ist eine Zwischentabelle, die das Gitter repräsentiert. Es wird bei jedem Aufruf der Auswertung die Tabelle komplett zurückgesetzt, das leere Gitter aufgebaut und dann über die beiden Abfragen neu gefüllt. Dazu bedarf es Programmierschleifen.
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 7995
Re: JOIN mit Teilergebnissen aus einer Tabelle
« Antwort #2 am: April 09, 2012, 18:49:43 »
Gruß
Klaus
 

 

JOIN Abfrage verschachtel mit mehreren Tabellen

Begonnen von hmfmartinBoard Tabelle/Abfrage

Antworten: 5
Aufrufe: 6041
Letzter Beitrag Mai 28, 2010, 14:10:03
von hmfmartin
Mehrere LEFT JOIN in Abfrage

Begonnen von Accesser11Board Tabelle/Abfrage

Antworten: 2
Aufrufe: 6304
Letzter Beitrag Mai 09, 2011, 14:49:00
von Accesser11
Problem mit SQL String In Vba Duplikaten suche mit INNER JOIN und Filterkriteri

Begonnen von Frank77Board Tabelle/Abfrage

Antworten: 1
Aufrufe: 1639
Letzter Beitrag Dezember 02, 2011, 16:21:26
von Frank77
Tabellennamen abkürzen in JOIN Abfrage

Begonnen von henfoniBoard Tabelle/Abfrage

Antworten: 3
Aufrufe: 1876
Letzter Beitrag Januar 17, 2012, 16:36:06
von ebs17
LEFT OUTER JOIN mit mehreren Bedingungen

Begonnen von aniankaBoard Tabelle/Abfrage

Antworten: 3
Aufrufe: 2747
Letzter Beitrag Juli 17, 2013, 15:12:07
von database

Advertisment / Werbung - Amazon Affiliate Links