AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Join geht nicht

Ein Thema von LogoPie · begonnen am 28. Jun 2004 · letzter Beitrag vom 28. Jun 2004
Antwort Antwort
LogoPie

Registriert seit: 7. Okt 2003
106 Beiträge
 
Delphi 5 Professional
 
#1

Join geht nicht

  Alt 28. Jun 2004, 11:06
Hi Leutz
Habe Folgenden Join über 2 Tabellen innerhalb einer DB.
SELECT Firma, Anrede, Name FROM Interessenten FULL OUTER JOIN Interessen ON Interessenten.InteressenNr = Interessen.InteressenNr Ich bekomme eine Fehlermeldung, wo ist mein fehler ?
Das gleiche gilt, wenn ich RIGHT OUTER verwenden.
Bei LEFT OUTER und INNER gibt es keine Probleme.
Miniaturansicht angehängter Grafiken
join.jpg  
  Mit Zitat antworten Zitat
LogoPie

Registriert seit: 7. Okt 2003
106 Beiträge
 
Delphi 5 Professional
 
#2

Re: Join geht nicht

  Alt 28. Jun 2004, 11:25
Folgende Join Abfrage ist auch nicht möglich.
SELECT IntNr,Firma,Anrede,Name FROM Interessenten LEFT OUTER JOIN Interessen ON Interessenten.IntNr = Interessen.IntNr Fehlermeldung im Anhang

Weiß Vielleicht jemand eine Lösung ? Wenn ich Select IntNr weg lasse funktioniert die Abfrage.
Aber leider nur für Firma,Andrede und Name, Refetenz wird nicht angezeigt.

GRuß Pierre
Miniaturansicht angehängter Grafiken
intnr.jpg  
  Mit Zitat antworten Zitat
nieurig

Registriert seit: 26. Apr 2004
113 Beiträge
 
Delphi 6 Professional
 
#3

Re: Join geht nicht

  Alt 28. Jun 2004, 12:48
Hi !
Welche DB wird genutzt?

Fehlermeldung 1 läßt vermuten, dass eine andere Schreibweise erwartet wird
versuch mal outer ohne full

SELECT IntNr,Firma,Anrede,Name FROM Interessenten OUTER JOIN Interessen ON Interessenten.InteressenNr = Interessen.InteressenNr und left ohne outer

SQL-Code:
SELECT IntNr,Firma,Anrede,Name FROM Interessenten LEFT JOIN Interessen ON
Interessenten.InteressenNr = Interessen.InteressenNr
Das wäre die richtige Schreibweise für Access.



Fehler 2
Sagt nur, das der Spaltenname IntNr nicht eindeutig ist.

SELECT IntNr, <- dies Feld kommt in BEIDEN Tabellen vor

verwende deshalb

SQL-Code:
SELECT Interessenten.IntNr,
Firma,Anrede,Name FROM Interessenten LEFT JOIN Interessen ON Interessenten.IntNr = Interessen.IntNr
Schöne Grüße
Niels

P.S. Wofür brauchst Du einen OUTER JOIN?? - ich habe das Ding noch nicht gebraucht.
Erspare Dir die Gedanken über ungelegte Eier !!!
  Mit Zitat antworten Zitat
LogoPie

Registriert seit: 7. Okt 2003
106 Beiträge
 
Delphi 5 Professional
 
#4

Re: Join geht nicht

  Alt 28. Jun 2004, 12:52
Vielen dank, werde ich gleich mal testen.

Ich benutze ADS
  Mit Zitat antworten Zitat
LogoPie

Registriert seit: 7. Okt 2003
106 Beiträge
 
Delphi 5 Professional
 
#5

Re: Join geht nicht

  Alt 28. Jun 2004, 13:05
So geht es ohne fehlermeldung aber das ergebnis stimmt nicht, es werden nur die inhalte aus der tabelle interessenten angezeigt.
SELECT Interessenten.IntNr,Firma,Anrede,Name FROM Interessenten LEFT OUTER JOIN Interessen ON Interessenten.IntNr = Interessen.IntNr
Used Advantage Database Server
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#6

Re: Join geht nicht

  Alt 28. Jun 2004, 13:23
Bei JOINS muss man immer darauf achten, dass in der Felderliste keine mehrdeutigen Feldnamen auftreten.
Ansonsten kann es zu einer Fehlermeldung kommen (z.B. "Column found in multiple tables").
SELECT Interessenten.IntNr, Interessenten.Firma, Interessenten.Anrede, Interessenten.Name FROM Interessenten LEFT OUTER JOIN Interessen ON Interessenten.IntNr = Interessen.IntNr Die beiden Tabellennamen sind doch ziemlich sperrig; deshalb darf man auch Aliasnamen verwenden:
SELECT F.IntNr, F.Firma, F.Anrede, F.Name FROM Interessenten F LEFT OUTER JOIN Interessen I ON F.IntNr = I.IntNr Nun fällt auf, dass kein einzige Feld aus Tabelle Interessen (=I) abgefragt wurde.
So würde der ganze JOIN keinen Sinn machen, deshalb:
SELECT F.Firma, F.Anrede, F.Name, I.Bezeichnung FROM Interessenten F LEFT OUTER JOIN Interessen I ON F.IntNr = I.IntNr Das Ergebnis dieser Abfrage könnte so aussehen:
Code:
IBM          Herr     Schuler        Webdesign
Mayer & Ci   Frau     Trebentz       Sales Manager Training
Microsoft    Herr     Thomas         <NULL>
Der NULL-Wert ist durch den LEFT OUTER JOIN entstanden. Bei einem INNER JOIN wäre die letzte Zeile unterdrückt worden.
Andreas
  Mit Zitat antworten Zitat
LogoPie

Registriert seit: 7. Okt 2003
106 Beiträge
 
Delphi 5 Professional
 
#7

Re: Join geht nicht

  Alt 28. Jun 2004, 13:59
Jo vielen dank
hat alles wunderbar geklappt.

Gruß Pierre
Used Advantage Database Server
  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 23:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz