![]() |
Re: left join NULL
Hallo,
@Joachim: Deine 2. Variante ist "nur" oracletauglich, SQL-Server frisst das nicht unverändert, aber das ist mir momentan relativ egal. Zu dieser Variante habe ich eine Verständnisfrage. Soweit ich weiß wirft union doch doppelte Sätze heraus, hieße das hier nicht, dass wir eventuell mit "Datenverlust" rechnen müssen?
SQL-Code:
Wenn wir hier in tab 2 zufällig 2 identische Sätze haben, was ja zumindest theoretisch möglich sein könnte, ist doch nachher die Summe für Reserviert eventuell falsch. Müsste es hier nicht union all heißen. Bin mir da aber zugegeben momentan nicht sicher. Prinzipiell ist Deine Methode mit den "leeren" Spalten und dem Union mit anschließender Gruppierung hervorragend geeignet, auch komplexe Abfragen zu vereinfachen. Unter Laufzeitgesichtpunkten habe ich das bisher noch garnicht betrachtet.
select name, bestand, 0 as reserviert from tab1
union select name, 0 as bestand, reserviert from tab2
Code:
Ist diese Aussage immer und für alle Datenbanken richtig?
-- Aggregatfunktionen ignorieren NULL-Werte
|
Re: left join NULL
Zitat:
SQL-Code:
select
name, sum(bestand) as bestand, sum(reserviert) as reserviert, sum(bestand)-sum(reserviert) as diff from ( select name, bestand, 0 as reserviert from tab1 union select name, 0 as bestand, reserviert from tab2 ) anyalias group by 1 Zitat:
Zitat:
-- puhhh...ich sollte doch die Beispiele kurz nachvollziehen und nicht einfach drauflostippen |
Re: left join NULL
Zitat:
|
Re: left join NULL
Hallo,
Zitat:
[OT]Wir hatten hier bei uns letztens ein paar Herren von einem Datenbankhersteller, die uns stolz mitteilten, dass Ihre Datenbank den Standard zu 92% einhält. Die Frage, was denn genau die übrigen 8% seien, so dass man sich als Entwickler darauf einstellen kann, konnte leider nicht beantwortet werden. ;-) Aber die Gesichter waren Gold wert. 8)[/OT] |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:20 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 by Thomas Breitkreuz