tutorials.de Buch-Aktion 02/2012
ERLEDIGT
JA
ANTWORTEN
4
ZUGRIFFE
789
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    d-braun d-braun ist offline Mitglied Gold
    Registriert seit
    Mar 2004
    Ort
    Zeiskam
    Beiträge
    127
    Hi,

    ich stehe gerade vor ne kleinen Problemchen. Angenommen ich habe folgendes als Ausgangslage (frei Erfunden zur Veranschaulichung also nicht wunden):
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    
    Tabelle: produkt_a
    |------------------------------------------|
    | ProduktA_ID   | Laenge    | Monat | Jahr |
    |==========================================|
    | 1             | 23        | 4     | 2010 |
    | 2             | 5         | 2     | 2010 |
    | 3             | 32        | 3     | 2010 |
    |------------------------------------------|
     
     
    Tabelle: produkt_b
    |------------------------------------------|
    | ProduktB_ID   | Breite    | Monat | Jahr |
    |==========================================|
    | 1             | 5         | 1     | 2010 |
    | 2             | 32        | 5     | 2010 |
    | 3             | 23        | 6     | 2010 |
    |------------------------------------------|

    Nun brauche ich aus den beiden Tabellen alle Daten sortiert nach Monat und Jahr. Zwecks Performance möchte ich jedoch auf eine Hilfstabelle verzichten. Gibt es eine Möglichkeit ein Ergebnis wie dies hier z.B. zu erhalten:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
    Abfrageergebnis
    |-----------------------------------------------------------------------|
    | ProduktA_ID   | ProduktB_ID   | Laenge    | Breite    | Monat | Jahr  |
    |=======================================================================|
    | 0             | 1             | 0         | 5         | 1     | 2010  |
    | 2             | 0             | 5         | 0         | 2     | 2010  |
    | 3             | 0             | 32        | 0         | 3     | 2010  |
    | 1             | 0             | 23        | 0         | 4     | 2010  |
    | 0             | 2             | 0         | 32        | 5     | 2010  |
    | 0             | 3             | 0         | 23        | 6     | 2010  |
    |-----------------------------------------------------------------------|

    Bei ner normalen Abfrage werden die Tabellen einfach hinten dran gehängt, mit nem Join hab ich es bisher auch nicht hin bekommen.

    Ideen? Tipps?

    Gruß
    Geändert von d-braun (03.09.10 um 09:45 Uhr)
     

  2. #2
    RedWraith RedWraith ist offline Mitglied Silber
    Registriert seit
    Aug 2007
    Beiträge
    61
    Code :
    1
    2
    3
    
    SELECT produktA_ID, 0, Laenge, 0, Monat, Jahr FROM produkt_a
    UNION SELECT 0, produktB_ID, 0, Breite, Monat, Jahr FROM produkt_b
    ORDER BY 6 DESC 5 DESC

    Das müsste so eigendlich funktionieren. Versuchs mal
     

  3. #3
    Registriert seit
    Dec 2001
    Ort
    Bayern
    Beiträge
    5.774
    Blog-Einträge
    5
    Hallo,

    so sollte es funktionieren:
    Code sql:
    1
    2
    3
    4
    
    SELECT produktA_ID, NULL AS produktB_ID, Laenge, NULL AS Breite, Monat, Jahr FROM produkt_a
    UNION
    SELECT NULL, produktB_ID, NULL, Breite, Monat, Jahr FROM produkt_b
    ORDER BY Jahr, Monat
    Ich kenne deinen Anwendungsfall zwar nicht, aber NULL statt 0 fand ich hier logischer.

    Grüße,
    Matthias
     
    „Gib einem Menschen einen Fisch, und er wird für einen Tag satt. Lehre ihn Fischen, und er wird ein Leben lang satt.“
    “For every complex problem, there is an answer that is short, simple and wrong.”
    “Pessimism is safe, but optimism is a lot faster!”


    Aktuelles Coding Quiz: #17 - Wörter kreuz und quer

  4. #4
    d-braun d-braun ist offline Mitglied Gold
    Registriert seit
    Mar 2004
    Ort
    Zeiskam
    Beiträge
    127
    Super Danke.
    Wusste garnicht dass ich während der Abfrage Werte erweitern kann. Aber mit "NULL AS" ist es wohl eleganter

    Edit:
    Wenn mir jetzt noch einer sagt wie ich im neuen Design das Thema als "erledigt" markiere bin ich erstmal glücklich
    Geändert von d-braun (06.09.10 um 10:31 Uhr)
     

  5. #5
    Avatar von sheel
    sheel sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    3.992
    Oben links vom "Auf Thema Antworten" der Haken.
    Gelb=Erledigt, Weiß=Offen
     

Ähnliche Themen

  1. MySQL - Bei Zusammenführen von zwei Tabellen Auto_Increment Spalte erstellen
    Von eingeist im Forum Relationale Datenbanksysteme
    Antworten: 3
    Letzter Beitrag: 20.09.10, 09:35
  2. Zwei Tabellen mit SELECT zusammenführen
    Von RedWraith im Forum Relationale Datenbanksysteme
    Antworten: 3
    Letzter Beitrag: 24.06.08, 10:02
  3. MySQL-Abfrage über zwei Tabellen und zwei Zeilen
    Von bnc-bang im Forum Relationale Datenbanksysteme
    Antworten: 7
    Letzter Beitrag: 13.04.07, 20:43
  4. JTable: Zwei Tabellen zusammenführen?
    Von equestenebrarum im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 5
    Letzter Beitrag: 29.04.05, 15:27
  5. Antworten: 1
    Letzter Beitrag: 26.02.05, 00:38