WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 28.07.2003, 11:45   #1
renew
Inventar
 
Registriert seit: 22.10.2000
Alter: 41
Beiträge: 5.552


Standard SQL Query - Syntax (INNER JOIN...)

So, mal schaun ob ein paar SQL Gurus da sind.

Ich hab 2 Tabellen, in einer stehen die Werte die ich zum Arbeiten brauche(dbo.[Retouren an Lieferanten KOEPFE]), und ID s von Lieferanten.
Die Namen der Lieferanten stehen in einer anderen Tabelle. (dbo.AKDST)

Wenn ich die beiden jetzt miteinander verknüpfe, bekomme ich natürlich nur die Datensätze, die in beiden Tabellen vorkommen.

Das ist die Abfrage dazu:
Code:
SELECT     dbo.[Retouren an Lieferanten KOEPFE].NL AS NL, dbo.[Retouren an Lieferanten KOEPFE].AKONTO AS LiefNr, RTRIM(LTRIM(dbo.AKDST.FIRMA1)) 
                      + ' ' + dbo.AKDST.firma2 AS LiefName, dbo.[Retouren an Lieferanten KOEPFE].NL_Beleg AS RL_Nr
FROM         dbo.[Retouren an Lieferanten KOEPFE] INNER JOIN
                      dbo.AKDST ON dbo.[Retouren an Lieferanten KOEPFE].NL + dbo.[Retouren an Lieferanten KOEPFE].AKONTO = dbo.AKDST.AKONTO
Jetzt kanns aber sein, dass in der Tabelle wo die Namen (dbo.AKDST) der Lieferanten steht, nicht alle LieferantenIDs aus der 1. Tabelle (dbo.[Retouren an Lieferanten KOEPFE]) eingetragen sind --> es fehlen ein paar Datensätze die mit der Abfrage nicht angezeigt werden.

Jetzt würde ich genau umgekehrt eine Abfrage basteln, welche mir die Datensätze anzeigt die NICHT in der anderen Tabelle vorhanden sind.
Ich hab mich schon ein wenig damit gespielt, aber leider bin ich net wirklich auf einen grünen Zweig gekommen.

Vielleicht könnts ihr mir dabei helfen.
renew ist offline   Mit Zitat antworten
Alt 28.07.2003, 12:07   #2
renew
Inventar
 
Registriert seit: 22.10.2000
Alter: 41
Beiträge: 5.552


Standard

ok, habs doch selber zusammengebracht...
Ein kleines Studium von "SQL in 21 Tagen" von MuT wirkt manchmal wundern.

Die Lösung ist:
Code:
SELECT     dbo.[Retouren an Lieferanten KOEPFE].NL AS NL, dbo.[Retouren an Lieferanten KOEPFE].AKONTO AS LiefNr, RTRIM(LTRIM(dbo.AKDST.FIRMA1)) 
                      + ' ' + dbo.AKDST.firma2 AS LiefName, dbo.[Retouren an Lieferanten KOEPFE].NL_Beleg AS RL_Nr
FROM         dbo.[Retouren an Lieferanten KOEPFE] LEFT OUTER JOIN
                      dbo.AKDST ON dbo.[Retouren an Lieferanten KOEPFE].AKONTO = dbo.AKDST.AKONTO
WHERE     (dbo.AKDST.FIRMA1 IS NULL)
renew ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 01:36 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag