Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
SELECT & INNER JOIN verstehen
Gehe zu Seite Zurück  1, 2
zurück: Menüleisten in gebundenem Popup-Formular weiter: Abhängige Kombinationsfelder Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Feedback Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Anhalter_79
Gast


Verfasst am:
24. Nov 2009, 11:51
Rufname:

AW: SELECT & INNER JOIN verstehen - AW: SELECT & INNER JOIN verstehen

Nach oben
       Version: Office 2007

Anhalter_79 am 17. Nov 2009 um 14:51 hat folgendes geschrieben:
Dankeschön,

ich werde es mal ausprobieren...

Das klappt soweit, doch jetzt habe ich doch noch ein weiteres Problem:

Hintergrund. Ich versuche Berichtswegen nachzugehen. In einer Tabelle steht immer eine Personalnummer und ein berichtetzupersonalnummer. Jetzt habe ich einen Innerjoin von berichtetzupersnr von Tabelle1 auf Pers.Nr. einer Kopie dieser Tabelle gemacht. Da ich diesen Vorgang bis zum Ende durchspielen möchte und jeder unterschiedlich viele Berichtsebenen hat, werden mir bei einer verknüpfung von kopie zu kopie 2 und weiter von kopie 2 auf kopie 3 usw. am ende nur die ausgegeben, die entsprechend viele Berichtsebenen haben. Die Personen mit weniger Ebenen fliegen ganz raus. Hat da jemand eine Idee oder war die Frage zu abstrakt?
MissPh!
Office-VBA-Programmiererin


Verfasst am:
24. Nov 2009, 13:40
Rufname:
Wohnort: NRW


AW: SELECT & INNER JOIN verstehen - AW: SELECT & INNER JOIN verstehen

Nach oben
       Version: Office 2007

Hallo,

schau dir mal die Verknüpfungsmöglichkeiten an, Left/Right JOIN käme hier wohl in Frage.

_________________
Gruß MissPh!
Anhalter
Excel-klappt-schon-Access-Anfänger


Verfasst am:
24. Nov 2009, 13:57
Rufname:
Wohnort: Bremen

AW: SELECT & INNER JOIN verstehen - AW: SELECT & INNER JOIN verstehen

Nach oben
       Version: Office 2007

Hallo Miss Ph!,

danke für den LEFT JOIN Tipp...das sieht ganz gut aus.
Allerdings bekomme ich einige Datensätze mehrfach angezeigt. Irgendeine Ahnung woran das liegen könnte?

Grüße,
Helge
MissPh!
Office-VBA-Programmiererin


Verfasst am:
24. Nov 2009, 15:48
Rufname:
Wohnort: NRW

AW: SELECT & INNER JOIN verstehen - AW: SELECT & INNER JOIN verstehen

Nach oben
       Version: Office 2007

Versuche es mal mit dem Schlüsselwort DISTINCTROW hinter dem SELECT, ansonsten zeig mal den SQL-Code...
_________________
Gruß MissPh!
Anhalter
Excel-klappt-schon-Access-Anfänger


Verfasst am:
24. Nov 2009, 16:43
Rufname:
Wohnort: Bremen


AW: SELECT & INNER JOIN verstehen - AW: SELECT & INNER JOIN verstehen

Nach oben
       Version: Office 2007

Hallo,
leider hat das so nicht ganz geklappt...hier mal der SQL-Quellcode (sorry aber dank der Leerzeichen in den Tabellennamen ist er etwas unübersichtlich.
Danke vorab für die Unterstützung...
Code:
SELECT DISTINCTROW [Abzug 2009-Oct-31_2].X_PER, [Abzug 2009-Oct-31].Y_VORNAME, [Abzug 2009-Oct-31].Y_NACHNAME, [Abzug 2009-Oct-31].COMPANY, [Abzug 2009-Oct-31].X_BERICHTETAN, [Abzug 2009-Oct-31_2].X_BERICHTETAN, [Abzug 2009-Oct-31_1].X_BERICHTETAN, [Abzug 2009-Oct-31_3].X_BERICHTETAN, [Abzug 2009-Oct-31_4].X_BERICHTETAN, [Abzug 2009-Oct-31_5].X_BERICHTETAN, [Abzug 2009-Oct-31_6].X_BERICHTETAN, [Abzug 2009-Oct-31_9].Y_NACHNAME, [Abzug 2009-Oct-31_9].Y_VORNAME, [Abzug 2009-Oct-31_9].X_MANLEVEL, [Abzug 2009-Oct-31_9].X_GVE2
FROM (((((((([Gesellschaften FUSO] INNER JOIN ([Abzug 2009-Oct-31] LEFT JOIN [Abzug 2009-Oct-31] AS [Abzug 2009-Oct-31_2] ON [Abzug 2009-Oct-31].X_BERICHTETAN = [Abzug 2009-Oct-31_2].X_PER) ON [Gesellschaften FUSO].GesIdent = [Abzug 2009-Oct-31].X_GESE) LEFT JOIN [Abzug 2009-Oct-31] AS [Abzug 2009-Oct-31_1] ON [Abzug 2009-Oct-31_2].X_BERICHTETAN = [Abzug 2009-Oct-31_1].X_PER) LEFT JOIN [Abzug 2009-Oct-31] AS [Abzug 2009-Oct-31_3] ON [Abzug 2009-Oct-31_1].X_BERICHTETAN = [Abzug 2009-Oct-31_3].X_PER) LEFT JOIN [Abzug 2009-Oct-31] AS [Abzug 2009-Oct-31_4] ON [Abzug 2009-Oct-31_3].X_BERICHTETAN = [Abzug 2009-Oct-31_4].X_PER) LEFT JOIN [Abzug 2009-Oct-31] AS [Abzug 2009-Oct-31_5] ON [Abzug 2009-Oct-31_4].X_BERICHTETAN = [Abzug 2009-Oct-31_5].X_PER) LEFT JOIN [Abzug 2009-Oct-31] AS [Abzug 2009-Oct-31_7] ON [Abzug 2009-Oct-31_5].X_BERICHTETAN = [Abzug 2009-Oct-31_7].X_PER) LEFT JOIN [Abzug 2009-Oct-31] AS [Abzug 2009-Oct-31_6] ON [Abzug 2009-Oct-31_7].X_BERICHTETAN = [Abzug 2009-Oct-31_6].X_PER) LEFT JOIN [Abzug 2009-Oct-31] AS [Abzug 2009-Oct-31_8] ON [Abzug 2009-Oct-31_6].X_BERICHTETAN = [Abzug 2009-Oct-31_8].X_PER) LEFT JOIN [Abzug 2009-Oct-31] AS [Abzug 2009-Oct-31_9] ON [Abzug 2009-Oct-31_8].X_BERICHTETAN = [Abzug 2009-Oct-31_9].X_PER
WHERE ((([Abzug 2009-Oct-31].Z_X_STANDORT)<>"ES08030A" And ([Abzug 2009-Oct-31].Z_X_STANDORT)<>"ES8034A" And ([Abzug 2009-Oct-31].Z_X_STANDORT)<>"ES01010A" And ([Abzug 2009-Oct-31].Z_X_STANDORT)<>"ES01015A") AND (([Abzug 2009-Oct-31].X_BESCHVERH)<"351") AND (([Abzug 2009-Oct-31].X_HH)="1" Or ([Abzug 2009-Oct-31].X_HH)="2") AND (([Abzug 2009-Oct-31].X_EINTRITT)<"2009-11-01" Or ([Abzug 2009-Oct-31].X_EINTRITT) Is Null) AND (([Abzug 2009-Oct-31].X_AUSDATUM)>="2009-10-31" Or ([Abzug 2009-Oct-31].X_AUSDATUM) Is Null)) OR ((([Abzug 2009-Oct-31].Z_X_STANDORT) Is Null) AND (([Abzug 2009-Oct-31].X_BESCHVERH)<"351") AND (([Abzug 2009-Oct-31].X_HH)="1" Or ([Abzug 2009-Oct-31].X_HH)="2") AND (([Abzug 2009-Oct-31].X_EINTRITT)<"2009-11-01" Or ([Abzug 2009-Oct-31].X_EINTRITT) Is Null) AND (([Abzug 2009-Oct-31].X_AUSDATUM)>="2009-10-31" Or ([Abzug 2009-Oct-31].X_AUSDATUM) Is Null));
MissPh!
Office-VBA-Programmiererin


Verfasst am:
24. Nov 2009, 17:10
Rufname:
Wohnort: NRW

AW: SELECT & INNER JOIN verstehen - AW: SELECT & INNER JOIN verstehen

Nach oben
       Version: Office 2007

Zitat:
sorry aber dank der Leerzeichen in den Tabellennamen ist er etwas unübersichtlich
Da kann ich dir nur raten, Aliasnamen zu verwenden, dann brauchst du den Tabellennamen nur einmal zu schreiben und im übrigen verwendest du die Kurzbezeichnung.
So ist das echt nicht lesbar...

_________________
Gruß MissPh!
Anhalter
Excel-klappt-schon-Access-Anfänger


Verfasst am:
24. Nov 2009, 18:41
Rufname:
Wohnort: Bremen

AW: SELECT & INNER JOIN verstehen - AW: SELECT & INNER JOIN verstehen

Nach oben
       Version: Office 2007

Zweiter Versuch: diesmal etwa übersichtlicher...dabei immer noch das Problem, dass einige Datensätze doppelt und dreifach auftauchen...
Code:
BLANK


Zuletzt bearbeitet von Anhalter am 24. Nov 2009, 19:47, insgesamt einmal bearbeitet
MissPh!
Office-VBA-Programmiererin


Verfasst am:
24. Nov 2009, 18:49
Rufname:
Wohnort: NRW

AW: SELECT & INNER JOIN verstehen - AW: SELECT & INNER JOIN verstehen

Nach oben
       Version: Office 2007

Sind da komplette Datensätze doppelt, dann sollte DISTINCT anstelle von Distinctrow helfen.
Schau mal in die Access-Hilfe, Distinctrow hat einen anderen Einsatzzweck.

_________________
Gruß MissPh!
Anhalter
Excel-klappt-schon-Access-Anfänger


Verfasst am:
25. Nov 2009, 13:04
Rufname:
Wohnort: Bremen

AW: SELECT & INNER JOIN verstehen - AW: SELECT & INNER JOIN verstehen

Nach oben
       Version: Office 2007

Anhalter am 24. Nov 2009 um 18:39 hat folgendes geschrieben:
Kann ich mal versuchen und mich da reinlesen, aber was ich nicht verstehe ist, es gibt jeden Datensatz ja nur einmal in der Tabelle1, aber sie werden unterschiedlich häufig angezeigt....

Anhalter am 24. Nov 2009 um 18:45 hat folgendes geschrieben:
UPDATE:

Egal warum er sie mir doppelt ausgibt (verstehe ich immer noch nicht), aber mit dem distinct klappt es scheinbar...vielen Dank nochmals!!!

Ich werde kirre, gestern ging es, dann habe ich ein Paar DB-Elemente mehr anzeigen lassen und schon reagiert das DISTINCT nicht mehr auf die eindeutige Datensatzbezeichnung KIM...irgendeine Idee?
Code:
SELECT DISTINCT Abzug1.MITA_KIM,
Abzug1.MADR_VORNAME,
Abzug1.MADR_NACHNAME,
Abzug1.COMPANY,
Abzug1.MITA_BERICHTETAN,
Abzug2.MITA_BERICHTETAN,
Abzug3.MITA_BERICHTETAN,
Abzug3.MADR_VORNAME,
Abzug3.MADR_NACHNAME,
Abzug3.MITA_GVE2,
Abzug3.MITA_MANLEVEL,
Abzug4.MITA_BERICHTETAN,
Abzug4.MADR_VORNAME,
Abzug4.MADR_NACHNAME,
Abzug4.MITA_GVE2,
Abzug4.MITA_MANLEVEL,
Abzug5.MITA_BERICHTETAN,
Abzug5.MADR_VORNAME,
Abzug5.MADR_NACHNAME,
Abzug5.MITA_GVE2,
Abzug5.MITA_MANLEVEL,
Abzug6.MITA_BERICHTETAN,
Abzug6.MADR_VORNAME,
Abzug6.MADR_NACHNAME,
Abzug6.MITA_GVE2,
Abzug6.MITA_MANLEVEL,
Abzug7.MITA_BERICHTETAN,
Abzug7.MADR_VORNAME,
Abzug7.MADR_NACHNAME,
Abzug7.MITA_GVE2,
Abzug7.MITA_MANLEVEL,
Abzug8.MITA_BERICHTETAN,
Abzug8.MADR_VORNAME,
Abzug8.MADR_NACHNAME,
Abzug8.MITA_GVE2,
Abzug8.MITA_MANLEVEL,
Abzug9.MITA_BERICHTETAN,
Abzug9.MADR_VORNAME,
Abzug9.MADR_NACHNAME,
Abzug9.MITA_GVE2,
Abzug9.MITA_MANLEVEL,
Abzug10.MADR_VORNAME,
Abzug10.MADR_NACHNAME,
Abzug10.MITA_GVE2,
Abzug10.MITA_MANLEVEL
FROM [Gesellschaften FS und Sales] AS GESE
LEFT JOIN ([Abzug 2009-Oct-31] AS Abzug1
LEFT JOIN ([Abzug 2009-Oct-31] AS Abzug2
LEFT JOIN ([Abzug 2009-Oct-31] AS Abzug3
LEFT JOIN ([Abzug 2009-Oct-31] AS Abzug4
LEFT JOIN ([Abzug 2009-Oct-31] AS Abzug5
LEFT JOIN ([Abzug 2009-Oct-31] AS Abzug6
LEFT JOIN ([Abzug 2009-Oct-31] AS Abzug7
LEFT JOIN ([Abzug 2009-Oct-31] AS Abzug8
LEFT JOIN ([Abzug 2009-Oct-31] AS Abzug9
LEFT JOIN [Abzug 2009-Oct-31] AS Abzug10
ON Abzug9.MITA_BERICHTETAN = Abzug10.MITA_KIM)
ON Abzug8.MITA_BERICHTETAN = Abzug9.MITA_KIM)
ON Abzug7.MITA_BERICHTETAN = Abzug8.MITA_KIM)
ON Abzug6.MITA_BERICHTETAN = Abzug7.MITA_KIM)
ON Abzug5.MITA_BERICHTETAN = Abzug6.MITA_KIM)
ON Abzug4.MITA_BERICHTETAN = Abzug5.MITA_KIM)
ON Abzug3.MITA_BERICHTETAN = Abzug4.MITA_KIM)
ON Abzug2.MITA_BERICHTETAN = Abzug3.MITA_KIM)
ON Abzug1.MITA_BERICHTETAN = Abzug2.MITA_KIM)
ON GESE.GesIdent = Abzug1.MITA_GESE

WHERE (((GESE.BezKonsKreis)<>"")
AND ((Abzug1.MMCD_X_STANDORT)<>"ES08030A"
AND (Abzug1.MMCD_X_STANDORT)<>"ES8034A"
AND (Abzug1.MMCD_X_STANDORT)<>"ES01010A"
AND (Abzug1.MMCD_X_STANDORT)<>"ES01015A")
AND ((Abzug1.MITA_BESCHVERH)<"351")
AND ((Abzug1.MITA_HH)="1" Or (Abzug1.MITA_HH)="2")
AND ((Abzug1.MITA_EINTRITT)<"2009-11-01" Or (Abzug1.MITA_EINTRITT) Is Null)
AND ((Abzug1.MITA_AUSDATUM)>="2009-10-31" Or (Abzug1.MITA_AUSDATUM) Is Null))
OR (((GESE.BezKonsKreis)<>"")
AND ((Abzug1.MMCD_X_STANDORT) Is Null)
AND ((Abzug1.MITA_BESCHVERH)<"351")
AND ((Abzug1.MITA_HH)="1" Or (Abzug1.MITA_HH)="2")
AND ((Abzug1.MITA_EINTRITT)<"2009-11-01" Or (Abzug1.MITA_EINTRITT) Is Null)
AND ((Abzug1.MITA_AUSDATUM)>="2009-10-31" Or (Abzug1.MITA_AUSDATUM) Is Null));
MissPh!
Office-VBA-Programmiererin


Verfasst am:
25. Nov 2009, 13:51
Rufname:
Wohnort: NRW

AW: SELECT & INNER JOIN verstehen - AW: SELECT & INNER JOIN verstehen

Nach oben
       Version: Office 2007

Nun, das wird an der erweiterten Datenauswahl liegen. Sobald es einen Unterschied gibt, können die Datensätze nicht mehr zusammengefasst werden.
_________________
Gruß MissPh!
Anhalter
Excel-klappt-schon-Access-Anfänger


Verfasst am:
25. Nov 2009, 14:12
Rufname:
Wohnort: Bremen

AW: SELECT & INNER JOIN verstehen - AW: SELECT & INNER JOIN verstehen

Nach oben
       Version: Office 2007

Stimmt, da ist was im argen!

Zuletzt bearbeitet von Anhalter am 25. Nov 2009, 14:49, insgesamt einmal bearbeitet
MissPh!
Office-VBA-Programmiererin


Verfasst am:
25. Nov 2009, 14:26
Rufname:
Wohnort: NRW


AW: SELECT & INNER JOIN verstehen - AW: SELECT & INNER JOIN verstehen

Nach oben
       Version: Office 2007

Kannst du das mal zeigen... ?
_________________
Gruß MissPh!
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Gehe zu Seite Zurück  1, 2
Diese Seite Freunden empfehlen

Seite 2 von 2
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: SQL,Delete, Select in 2 gastFlorian 7841 18. Feb 2007, 10:24
gastFlorian SQL,Delete, Select in
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage Left Join löscht aus falscher Tabelle 3 ggh 1798 01. Feb 2007, 14:49
Willi Wipp Abfrage Left Join löscht aus falscher Tabelle
Keine neuen Beiträge Access Tabellen & Abfragen: Left Join in Sql-Abfrage will nicht. 4 Tintenherz 1016 16. Jan 2007, 17:49
Willi Wipp Left Join in Sql-Abfrage will nicht.
Keine neuen Beiträge Access Tabellen & Abfragen: Problem mit LEFT JOIN - Abfrage 2 Ludger 610 19. Okt 2006, 11:15
Ludger Problem mit LEFT JOIN - Abfrage
Keine neuen Beiträge Access Tabellen & Abfragen: INSERT Statement mit SELECT und VALUES 2 Gast 1506 13. Jul 2006, 06:42
Pogoist INSERT Statement mit SELECT und VALUES
Keine neuen Beiträge Access Tabellen & Abfragen: SELECT * FROM (SELECT * FROM tab) funzt in Access 97 nicht 7 Thomas D 17038 06. Jun 2006, 16:53
lothi SELECT * FROM (SELECT * FROM tab) funzt in Access 97 nicht
Keine neuen Beiträge Access Tabellen & Abfragen: Union Select mit verknüpften Tabellen 0 Meerjungfrauenmann 1409 01. Jun 2006, 20:23
Meerjungfrauenmann Union Select mit verknüpften Tabellen
Keine neuen Beiträge Access Tabellen & Abfragen: SELECT ... FROM ... UNION 2 Manu1985 811 29. März 2006, 08:19
Manu1985 SELECT ... FROM ... UNION
Keine neuen Beiträge Access Tabellen & Abfragen: Spalten mit & zusammenfügen, aber nur, wenn nicht leer 5 Keetmanshoop 1557 26. Sep 2005, 07:38
Keetmanshoop Spalten mit & zusammenfügen, aber nur, wenn nicht leer
Keine neuen Beiträge Access Tabellen & Abfragen: Vergleichsabfrage in SELECT oder so änlich 1 McSquare 1301 30. Aug 2005, 21:14
jens05 Vergleichsabfrage in SELECT oder so änlich
Keine neuen Beiträge Access Tabellen & Abfragen: Inner Join in Access? 2 Markus2000 698 20. Jun 2005, 14:17
Markus2000 Inner Join in Access?
Keine neuen Beiträge Access Tabellen & Abfragen: Verknüpfen mittels Inner Join 4 Gast 693 15. Jun 2005, 11:10
Mastra Verknüpfen mittels Inner Join
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: HTML CSS