AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken SQL-Abfrage; JOIN mit Bedingung?
Thema durchsuchen
Ansicht
Themen-Optionen

SQL-Abfrage; JOIN mit Bedingung?

Ein Thema von EmWieMichael · begonnen am 4. Dez 2018 · letzter Beitrag vom 4. Dez 2018
Antwort Antwort
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#1

AW: SQL-Abfrage; JOIN mit Bedingung?

  Alt 4. Dez 2018, 09:17
Diese "sprechenden" Schlüssel sind einfach nur Schrott!
Oh Uwe war schneller.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#2

AW: SQL-Abfrage; JOIN mit Bedingung?

  Alt 4. Dez 2018, 10:54
Ich denke, Uwe liegt genau richtig mit seinem Vorschlag über die Outer Joins.

Falls die Tabellen sehr breit sind, könnte man alternativ noch ein Union nehmen und sich quälend lange Case Statements (plus den zugehörigen Fehlern) sparen.

P.S.: Ich gehe natürlich davon aus, dass diese Art Datenmodell ein historische "Ursach" hat. Mit anderen Worten, es sollte klar sein, dass es nicht "state of the art" ist. Aber darum geht's hier ja gar nicht.
Gruß, Jo

Geändert von jobo ( 4. Dez 2018 um 10:58 Uhr)
  Mit Zitat antworten Zitat
EmWieMichael

Registriert seit: 28. Mär 2012
103 Beiträge
 
#3

AW: SQL-Abfrage; JOIN mit Bedingung?

  Alt 4. Dez 2018, 11:31
Ich stelle mir das in etwa so vor:
SQL-Code:
SELECT A.ID, CONCAT(X.DATA, Y.DATA, Z.DATA) AS DATA
FROM TabelleA A
LEFT JOIN TabelleX X ON A.ID = X.ID
LEFT JOIN TabelleY Y ON A.ID = Y.ID
LEFT JOIN TabelleZ Z ON A.ID = Z.ID
Wie einfach die Dinge doch sein können, wenn wenn weiß wie´s geht.
Ganz herzlichen Dank!

Zur Tabellenstruktur:
Die Datenbank enthält verschiedene Tabellen verschiedener Struktur. Zum Beispiel Personen, Bäume, Autos. Sämtliche Datensätze besitzen eine eindeutige ID, die mit einem objektabhängigen Buchstaben beginnt: P für Personen, usw. Das Programm erhält über einen WebService Nachrichten, die sich auf jeweils ein Objekt beziehen und dessen ID enthalten. Dieses Objekt kann in der Datenbank hinterlegt sein, muss aber nicht. Die benötigte SQL-Abfrage nutze ich, um dem Anwender in einer Übersicht die Objekte der eingegangenen Nachrichten anzuzeigen - sofern sie lokal gespeichert sind.
Die Nachrichten werden von mehreren Hundert Standorten abgerufen, die teilweise die gleichen Datensätze (mit gleicher ID) lokal speichern. Zugegebn, das klingt etwas schräg. Ist es wohl auch. Kann ich aber nichts dran ändern.

Vielen Dank für Eure Beiträge!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:02 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz