AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi SQL | INNER JOINS über mehrere Tabellen
Thema durchsuchen
Ansicht
Themen-Optionen

SQL | INNER JOINS über mehrere Tabellen

Ein Thema von f4k3 · begonnen am 9. Jun 2009 · letzter Beitrag vom 15. Jun 2009
 
Benutzerbild von f4k3
f4k3

Registriert seit: 15. Aug 2007
Ort: Nürnberg
313 Beiträge
 
Delphi 2007 Architect
 
#7

Re: SQL | INNER JOINS über mehrere Tabellen

  Alt 9. Jun 2009, 11:59
Also ich habs probiert

SQL-Abfrage ...

SQL-Code:
SELECT

    // BEN
    b.BEN_ID, b.RECHTE_ID, b.ABTEILUNG_ID, b.BENUTZERNAME, b.PASSWORT,
    b.VORNAME, b.NACHNAME, b.GEBURTSTAG, b.EINSTELLUNGSDATUM, b.ENTLASSUNGSDATUM,
    b.EINGELOGGT,
    
    // BEN_ABTEILUNG
    bab.BEN_ABTEILUNG_ID, bab.ABTEILUNGSNAME,
    
    // BEN_ADRESSE
    bad.BEN_ADRESSE_ID, bad.BENUTZER_ID, bad.KONTAKTART_ID, bad.STRASSE,
    bad.POSTLEITZAHL, bad.ORT,
    
    // BEN_EMAIL
    be.BEN_EMAIL_ID, be.BENUTZER_ID, be.KONTAKTART_ID, be.EMAIL_ADRESSE,
    
    // BEN_KONTAKTART
    bk.BEN_KONTAKTART_ID, bk.BEZEICHNUNG, bk.BESCHREIBUNG,
    
    // BEN_NOTIZEN
    bn.BEN_NOTIZEN_ID, bn.BENUTZER_ID, bn.BEZEICHNUNG, bn.BESCHREIBUNG,
    bn.ANGELEGT, bn.GEAENDERT,
    
    // BEN_RECHTE
    br.BEN_RECHTE_ID, br.BEZEICHNUNG, br.ADMINISTRATOR,
    
    // BEN_TELEFON
    bt.BEN_TELEFON_ID, bt.BENUTZER_ID, bt.KONTAKTART_ID, bt.RUFNUMMER

FROM BEN b, BEN_KONTAKTART bk

    // INNER JOIN BEN_RECHTE
    LEFT OUTER JOIN BEN_RECHTE br
      ON (br.BEN_RECHTE_ID = b.RECHTE_ID)
    
    // INNER JOIN BEN_ABTEILUNG
    LEFT OUTER JOIN BEN_ABTEILUNG bab
      ON (bab.BEN_ABTEILUNG_ID = b.ABTEILUNG_ID)
    
    // INNER JOIN BEN_ADRESSE
    LEFT OUTER JOIN BEN_ADRESSE bad
      ON (bad.BENUTZER_ID = b.BEN_ID)
    
    // INNER JOIN BEN_EMAIL
    LEFT OUTER JOIN BEN_EMAIL be
      ON (be.BENUTZER_ID = b.BEN_ID)
    
    // INNER JOIN BEN_NOTIZEN
    LEFT OUTER JOIN BEN_NOTIZEN bn
      ON (bn.BENUTZER_ID = b.BEN_ID)
    
    // INNER JOIN BEN_TELEFON
    LEFT OUTER JOIN BEN_TELEFON bt
      ON (bt.BENUTZER_ID = b.BEN_ID) AND (bt.KONTAKTART_ID = bk.BEN_KONTAKTART_ID)

WHERE b.BENUTZERNAME = 'Jonny'
Als Ergebnis bekomme ich zwar keinen Fehler ... aber eine Informatione "no current record for fetch operation" was soviel heißt wie kein Datensatz für fetch-operation verfügbar, wenn mich mein Englisch nicht im stich lässt

Bis auf BEN_NOTIZEN enthalten aber alle Tabellen Informationen die mit dem Benutzer verknüpft sind ...
Und so wie ich den LEFT OUTER JOIN verstanden habe ... müssten alle Daten geliefert werden zu denen eine Verknüpfung existiert

Oder hab ich das Prinzip nicht ganz verstanden?

MfG f4k3
Sascha
  Mit Zitat antworten Zitat
 


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 11:56 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