AGB  ·  Datenschutz  ·  Impressum  







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

SQL Abfrage

Ein Thema von cu mic · begonnen am 2. Nov 2006 · letzter Beitrag vom 3. Nov 2006
Antwort Antwort
Seite 1 von 2  1 2      
cu mic

Registriert seit: 2. Mai 2006
13 Beiträge
 
#1

SQL Abfrage

  Alt 2. Nov 2006, 09:50
Datenbank: ms sql • Version: 2000 • Zugriff über: ADO
Ich steh grad auf dem Schlauch

Ich habe zwei Tabellen

tbl_Mitarbeiter
---------------
Mitarbeiternr
Name

und

tbl_Ausgabe
-----------
Ausgabenr
Ausgeber -> tbl_Mitarbeiter.Mitarbeiternr
STPAusgabe -> tbl_Mitarbeiter.Mitarbeiternr

Ich wollte nun alle Ausgabenr(n) inkl. den Name(n) der Ausgeber und STPAusgabe selektieren.

Gibt es da nicht eine einfache Abfrage?
  Mit Zitat antworten Zitat
bttb930

Registriert seit: 6. Okt 2003
372 Beiträge
 
#2

Re: SQL Abfrage

  Alt 2. Nov 2006, 10:01
select * from tbl_Ausgabe A
left join tbl_Mitarbeiter MAusgabe ON A.Ausgeber = MAusgabe.MitarbeiterNr
left join tbl_Mitarbeiter MSTPAusgabe ON A.STPAusgabe = MSTPAusgabe.MitarbeiterNr
  Mit Zitat antworten Zitat
cu mic

Registriert seit: 2. Mai 2006
13 Beiträge
 
#3

Re: SQL Abfrage

  Alt 2. Nov 2006, 10:08


Ich frage mich, warum man zig jahre Informatik studiert

Ich danke Dir!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: SQL Abfrage

  Alt 2. Nov 2006, 10:18
Zitat:
Ich frage mich, warum man zig jahre Informatik studiert ouch!
Um die Probleme theroetisch zu verstehen
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#5

Re: SQL Abfrage

  Alt 2. Nov 2006, 12:18
Zitat von bttb930:
select * from tbl_Ausgabe A
left join tbl_Mitarbeiter MAusgabe ON A.Ausgeber = MAusgabe.MitarbeiterNr
left join tbl_Mitarbeiter MSTPAusgabe ON A.STPAusgabe = MSTPAusgabe.MitarbeiterNr
Warum nicht ein join sparen:
SQL-Code:
select * from tbl_Ausgabe A
left join tbl_Mitarbeiter m ON A.Ausgeber = m.MitarbeiterNr and A.STPAusgabe = m.MitarbeiterNr
Das sollte schneller sein.
  Mit Zitat antworten Zitat
NormanNG

Registriert seit: 1. Feb 2006
294 Beiträge
 
Delphi 2007 Professional
 
#6

Re: SQL Abfrage

  Alt 2. Nov 2006, 13:24
Hi,

@Jelly
Das ist aber nicht das Gleiche. Deine Abfrage liefert nur die Zeilen, bei denen beide Felder auf den selben Mitarbeiter zeigen. Die andere Abfrage hingegen bringt alletbl_Ausgabe-Zeilen mit den jeweiligen Mitarbeitern.
Gruß
Norman
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#7

Re: SQL Abfrage

  Alt 2. Nov 2006, 13:34
Stimmt, ich hatte die Frage nur halbherzig gelesen.
  Mit Zitat antworten Zitat
raiguen
(Gast)

n/a Beiträge
 
#8

Re: SQL Abfrage

  Alt 2. Nov 2006, 14:50
So müsste es auch mit einem JOIN gehen:
SQL-Code:
SELECT * FROM tbl_Ausgabe A
JOIN tbl_Mitarbeiter m ON (A.Ausgeber = m.MitarbeiterNr OR A.STPAusgabe = m.MitarbeiterNr)
Es werden also alle Mitarbeiter berücksichtigt, die sowohl in A.Ausgeber als auch in A.STPAusgabe vorhanden sind...
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#9

Re: SQL Abfrage

  Alt 2. Nov 2006, 14:53
Zitat von raiguen:
Es werden also alle Mitarbeiter berücksichtigt, die sowohl in A.Ausgeber als auch in A.STPAusgabe vorhanden sind...
Du meinst wohl oder, sonst sind wir ja wieder bei meinem Join gelandet
  Mit Zitat antworten Zitat
raiguen
(Gast)

n/a Beiträge
 
#10

Re: SQL Abfrage

  Alt 2. Nov 2006, 15:15
Zitat von Jelly:
Zitat von raiguen:
Es werden also alle Mitarbeiter berücksichtigt, die sowohl in A.Ausgeber als auch in A.STPAusgabe vorhanden sind...
Du meinst wohl oder, sonst sind wir ja wieder bei meinem Join gelandet
Für mich ist sowohl...als auch gleichzusetzen mit oder...
oder geh ich da irrig in der Annahme (immer diese sprachlischen Feinheiten...)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 18:38 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