AGB  ·  Datenschutz  ·  Impressum  







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

SQL "umbauen"

Ein Thema von Salomon · begonnen am 3. Mär 2008 · letzter Beitrag vom 30. Apr 2008
 
Benutzerbild von Olli73
Olli73

Registriert seit: 25. Apr 2008
Ort: Neunkirchen
780 Beiträge
 
#23

Re: SQL "umbauen"

  Alt 30. Apr 2008, 18:19
Zitat:
du schummelst
im Original stand ein full-join, und darauf bezog sich meine Anmerkung.
@NormanNG:

Im Beispiel habe ich zwar left join verwendet, weil full join m.E. u.U. auch unerwünschte Daten bringt, aber es ging ja darum, dass nicht alle Teams aufgelistet wurden; bei meiner Abfrage aber kommen alle Teams vor:

SQL-Code:
create table TEST1 (TEAM varchar(10));
create table TEST2 (TEAM varchar(10), DATUM datetime);

insert into TEST1 values ('TeamA');
insert into TEST1 values ('TeamB');
insert into TEST1 values ('TeamC');

insert into TEST2 values ('TeamA', '29.04.2008');
insert into TEST2 values ('TeamB', '30.04.2008');
insert into TEST2 values (null, '29.04.2008');
insert into TEST2 values (null, '30.04.2008');


mit "where" fehlt TeamA komplett:

select a.TEAM, b.DATUM from TEST1 a full join TEST2 b on b.team = a.team
where (b.DATUM = '30.04.2008or b.DATUM is null) order by 1, 2

<NULL> 30.04.2008
TeamB 30.04.2008
TeamC <NULL>

bei der Bedingung im Join erscheinen alle Teams und ggf. noch ein paar
unnötige Datumswerte mit Team "NULL" (welche bei left join fehlen würden):

select a.TEAM, b.DATUM from TEST1 a full join TEST2 b on b.team = a.team
and (b.DATUM = '30.04.2008') order by 1, 2

<NULL> 29.04.2008
<NULL> 29.04.2008
<NULL> 30.04.2008
TeamA <NULL>
TeamB 30.04.2008
TeamC <NULL>

Aber auf jeden Fall fehlt kein Team - im Gegensatz zu "where ..."!
Daher ist zumindest die Aussage

Zitat:
es macht keinen Unterschied, ob die Bedingungen direkt im Join oder im Where gesetzt sind
widerlegt.

Gruß
Olli
  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 16:48 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