Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Verknüpfung mehrerer Tabellen mit einer SQL-Abfrage

Empfohlene Antworten

Veröffentlicht

Hilfe! Ich habe ein Problem! :(

Es sollen 4 Tabellen in einer Abfrage miteinander verknüpfen. In den Tabellen sind einige Spalten gleich. Nun liefert die Abfrage zwar ein korrektes Ergebnis, aber es werden leider auch die gleichlautenden Spalten der unterschiedlichen Tabellen alle ausgegeben, d.h. es gibt Doppelnennungen.

Beispiel:

Tabelle 1: OBJECTID, CREATEDATE, STATUS

Tabelle 2: OBJECTID, STRASSE, DATEINAME, PERSON, KEYWORDS .....

Tabelle 3: OBJECTID, AKTENZEICHEN, DATEINAME, STRASSE, DATEIDATUM .....

Tabelle 4: OBJECTID, STRASSE, BEGINN, END, DATEIDATUM .....

Bisherige Abfage:

SELECT * FROM Tabelle1, Tabelle2, Tabelle3, Tabelle4 WHERE Tabelle2.PERSON like 'Entwicklung' AND

Tabelle1.OBJECTID = Tabelle2.ObjectID or Tabelle1.ObjectID = Tabelle3.ObjectID or

Tabelle1.OBJECTID = Tabelle4.ObjectID

Wie kann ich die Tabellen verknüpfen, alle Angaben erhalten und trotzdem wird keine Spalte doppelt ausgegeben?

Hat jemand einen Tipp? Wäre suuuper. ;)

Merci für die schnelle Antwort.

Leider sind die Tabellen zu groß, um einzelne Spalten aufzurufen. Dadurch würde die Abfrage einfach zu umfangreich und verwirrend. Außerdem muß sie ziemlich einfach gehalten werden, da sie später mit Delphi programmiert und in einer Suchmaske ausgeführt werden soll.

Gruß IT-Girl

Es soll später eine Art Web-Formular dem User zur Verfügung stehen, mit dem er nach verschiedenen Begriffen in allen 4 Tabellen suchen kann. Als Ergebnis sollen ihm dann alle Dokumente angezeigt werden, die seine Suchbegriffe beinhalten.

Z.Zt. weiß ich leider auch nicht mehr.

Hatte es auch schon mit Inner Join probiert. Das klappt leider nur bei 2 Tabellen. :confused:

Moin !

Inner Join geht auch über meherere Tabellen, das funzt dann in etwa so:

... FROM

((Tabelle1 INNER JOIN Tabelle2 ON Tabelle1.ObjectID = Tabelle2.ObjectID)

INNER JOIN Tabelle3 ON Tabelle1.ObjectID = Tabelle3.ObjectID)

INNER JOIN Tabelle4 ON Tabelle1.ObjectID = Tabelle4.ObjectID

sollte dann denk ich auch deutlich schneller gehen, bei vier großen Tabellen. Mit den doppelten Spalten fällt mir auch nur ein, die im SELECT namentlich aufzuführen, die Du angezeigt haben möchtest.

Hoffe das hilft Dir weiter.

Gruß

Christian

------------------------------------------------------------

"All power corrupts. Absolute Power is kinda neat though..."

"50.000 gold a year in child care and they call it a CULT ?!?"

- Kel'Thuzad, Archlich

Danke, werde es noch versuchen.

Aber laut meinem Chef soll es nun anders gemacht werden.

Immer die Tabelle 1 mit einer anderen Tabelle verknüpfen, daraus die Abfrage erstellen, Ergebnis in einer XML-Datei abspeichern,

nächste Verknüpfung und Abfrage usw.

Anschließend werden alle Daten in Form einer Website ausgegeben.

Mal sehen, ob ich das hinbekomme. ;)

Soll jetzt erstmal die einzelnen Abfragen mit Delphi und SQL durchführen und abspeichern. *uff* Dann sehen wir weiter.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.