Ergebnis 1 bis 2 von 2

Thema: select mit UNION

  1. #1
    Erich60 ist offline Neuer Benutzer
    Registriert seit
    23.11.2010
    Ort
    Darmstadt
    Beiträge
    17

    Standard select mit UNION

    Ich habe hier drei Sql-Select's, die, meiner Meinung nach alle, das gleiche Ergebnis bringen sollten. Dem ist aber nicht so:
    Code:
    select sum(menge),count(*) from (select menge from daten.bewegung_2012 where artnr='380802' and datum>'20111227'
    union select menge from daten.bewegung_2011 where artnr='380802' and datum>'20111227' 
    ) as  x
    liefert die Menge 10 bei 3 Datensätze (ist arg wenig)
    #2:
    Code:
    select sum(menge),count(*) from (select artnr,datum,menge from daten.bewegung_2012
    union select artnr,datum,menge from daten.bewegung_2011
    ) as  x where artnr='380802' and datum>'20111227'
    liefert die Menge 20 bei 10 Datensätze (auch zu wenig)

    #3:
    Code:
     
    select sum(menge),count(*) from (select artnr,datum,refnr,menge from daten.bewegung_2012
    union select artnr,datum,refnr,menge from daten.bewegung_2011
    ) as  x where artnr='380802' and datum>'20111227'
    liefert die Menge 22 bei 12 Datens�tzen (das ist korrekt)

    Die Tabellen Bewegung_2012/Bewegung_2011 haben ein pKey (Artnr,datum,refnr), der sich nur in der RefNr unterscheidet.
    Gibt es eine logische Erklärung, warum man 3 verschiedene Ergebnisse bei (scheinbar) gleichen Abfragen bekommt.

    Variation zu #1:
    Code:
    select sum(menge),count(*) from (select menge from daten.bewegung_2012 where artnr='380802' and datum>'20111227'
    --union select menge from daten.bewegung_2011 where artnr='380802' and datum>'20111227'
    ) as  x
    mal ohne UNION. Ergibt auch ein korrektes Ergebnis

  2. #2
    akretschmer ist gerade online Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.472

    Standard

    Zitat Zitat von Erich60 Beitrag anzeigen
    Ich habe hier drei Sql-Select's, die, meiner Meinung nach alle, das gleiche Ergebnis bringen sollten. Dem ist aber nicht so:
    Code:
    select sum(menge),count(*) from (select menge from daten.bewegung_2012 where artnr='380802' and datum>'20111227'
    union select menge from daten.bewegung_2011 where artnr='380802' and datum>'20111227' 
    ) as  x
    liefert die Menge 10 bei 3 Datensätze (ist arg wenig)
    #2:
    Code:
    select sum(menge),count(*) from (select artnr,datum,menge from daten.bewegung_2012
    union select artnr,datum,menge from daten.bewegung_2011
    ) as  x where artnr='380802' and datum>'20111227'
    liefert die Menge 20 bei 10 Datensätze (auch zu wenig)

    #3:
    Code:
     
    select sum(menge),count(*) from (select artnr,datum,refnr,menge from daten.bewegung_2012
    union select artnr,datum,refnr,menge from daten.bewegung_2011
    ) as  x where artnr='380802' and datum>'20111227'
    liefert die Menge 22 bei 12 Datens�tzen (das ist korrekt)

    Die Tabellen Bewegung_2012/Bewegung_2011 haben ein pKey (Artnr,datum,refnr), der sich nur in der RefNr unterscheidet.
    Gibt es eine logische Erklärung, warum man 3 verschiedene Ergebnisse bei (scheinbar) gleichen Abfragen bekommt.

    Variation zu #1:
    Code:
    select sum(menge),count(*) from (select menge from daten.bewegung_2012 where artnr='380802' and datum>'20111227'
    --union select menge from daten.bewegung_2011 where artnr='380802' and datum>'20111227'
    ) as  x
    mal ohne UNION. Ergibt auch ein korrektes Ergebnis

    Du möchtest Dich mit dem Unterschied UNION versus UNION ALL sowie mit dem Datentyp DATE beschäftigen.


    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

Ähnliche Themen

  1. Antworten: 11
    Letzter Beitrag: 28.02.2010, 21:50
  2. Union All ohne Sortierung
    Von m.sirin im Forum Programmierung
    Antworten: 11
    Letzter Beitrag: 02.02.2010, 18:29
  3. Antworten: 3
    Letzter Beitrag: 28.04.2009, 08:58
  4. UNION mit zusätzlicher Quellen-Spalte
    Von netket im Forum SQL
    Antworten: 4
    Letzter Beitrag: 13.02.2009, 21:39
  5. Frage mit SQL union all excel Blätter zusammenfassen
    Von hannes1011 im Forum SQL
    Antworten: 2
    Letzter Beitrag: 13.11.2008, 20:15

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Links: Tobias Bauer - IT- und Funkdienstleistungen   -   Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen   -   Funkforum