tutorials.de Buch-Aktion 02/2012
ERLEDIGT
JA
ANTWORTEN
6
ZUGRIFFE
646
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    salonhuber salonhuber ist offline Grünschnabel
    Registriert seit
    Apr 2005
    Beiträge
    3
    Hallo, ich habe folgendes Problem:
    ich habe 2 Tabellen (tabelle1, tabelle2), mit fogenden Spalten:

    Tabelle 1:
    title
    kalenderende

    Tabelle 2:
    titel
    enddatum

    Die Werte in den Spalten "enddatum" und "kalenderende" sind vom Format "yyyy-mm-dd".
    Nun möchte ich die Werte aus beiden Tabellen holen und nach Datum sortiert ausgeben, nur komme ich nicht darauf. Kann mir jemand helfen?

    Im Übrigen muss ich ein dickes Lob an dieses Forum aussprechen, bisher habe ich hier für jedes meiner Problem eine Lösung über die Suche gefunden. (nur diesmal nicht)
     

  2. #2
    birnkammer birnkammer ist offline Mitglied Platin
    Registriert seit
    Dec 2004
    Beiträge
    666
    Warum nicht so?

    Code SQL:
    1
    
    SELECT a.kalenderende, b.enddatum FROM tabelle1 AS a, tabelle2 AS b ORDER BY a.kalenderende, b.enddatum ASC;
     
    Nichts kann existieren ohne Ordnung - Nichts kann entstehen ohne Chaos
    (Albert Einstein)

  3. #3
    salonhuber salonhuber ist offline Grünschnabel
    Registriert seit
    Apr 2005
    Beiträge
    3
    Danke erstmal für die schnelle Antwort...

    So ähnlich habe ich es bereits versucht, habe jetzt nochmal deine Lösung probiert und festgestellt, dass mein Problem wahrscheinlich bei der Ausgabe liegt.

    Normalerweise würde das ja in etwa so funktionieren:

    PHP-Code:
    $daten_abrufen mysql_query("SELECT...");

    while(
    $daten mysql_fetch_array($daten_abrufen)
      {
       echo 
    'Datum: '.$daten['datum'].' - Beschreibung: '.$daten['titel'].' <br />';
      } 
    Allerdings haben die Spalten in den Tabellen unterschiedliche Namen ("kalenderende" und "enddatum", bzw. "titel" und "title").

    Angenommen die Werte in "kalenderende" sind 1, 2, 8 und die in enddatum 3, 10, 20, dann soll die Ausgabe am Ende so aussehen: 1, 2, 3, 8, 10, 20 und das schaffe ich nicht.
     

  4. #4
    birnkammer birnkammer ist offline Mitglied Platin
    Registriert seit
    Dec 2004
    Beiträge
    666
    Du hast doch geschrieben, dass die Spalten DATE-Felder sind, wie kann dann der Inhalt 1,2,8 oder 3,10,20 sein?
     
    Nichts kann existieren ohne Ordnung - Nichts kann entstehen ohne Chaos
    (Albert Einstein)

  5. #5
    Registriert seit
    Mar 2005
    Ort
    Bühl/Baden
    Beiträge
    2.330
    Wie es per MySql geht, weis ich nicht (Geht bestimmt). Aber per PHP kannst du es so machen
    PHP-Code:
    $sql "SELECT a.kalenderende, b.enddatum FROM tabelle1 AS a, tabelle2 AS b";
    $result mysql_query($sql) or die(mysql_error);

    $daten = array();
    while(
    $row mysql_fetch_assoc($result))
    {
       if(isset(
    $row['kalenderende']))
       {
           
    $daten[] = $row['kalenderende'];
       }
       if(isset(
    $row['enddatum']))
       {
           
    $daten[] = $row['enddatum'];
       }
    }
    sort($daten);

    foreach(
    $daten as $datum)
    {
        echo 
    $datum."<br>";

     
    Gruß fanste

    Benutze bitte immer die passende Highlight-Tags.(z.B: für PHP [php] [/php] Allgemein: [highlight=SCRIPTSPRACHE]Code[/highlight] )

    Problem gelöst? Dann markiere das Thema bitte als erledigt!
    Beachte bitte die Netiquette. Insbesondere Punkt 15.

  6. #6
    salonhuber salonhuber ist offline Grünschnabel
    Registriert seit
    Apr 2005
    Beiträge
    3
    Danke, Problem gelöst
     

  7. #7
    Christoph Bichlmeier Christoph Bichlmeier ist offline Mitglied Bronze
    Registriert seit
    Sep 2004
    Ort
    Passau
    Beiträge
    31
    Ein reine SQL-Lösung ist immer besser, als das Problem auf die Host-Sprache abzuwälzen. Verwende UNION:

    Code SQL:
    1
    2
    3
    4
    
    (SELECT a.kalenderende FROM tabelle1 AS a
    UNION
    SELECT b .enddatum FROM tabelle2 AS b)
    ORDER BY 1;

    Die beiden mit UNION verknüpften Queries müssen die selbe Anzahl von Spalten enthalten, welche ihrerseits den selben Datentyp haben müssen. Der Name kann ruhig unterschiedlich sein.
     

Ähnliche Themen

  1. Antworten: 4
    Letzter Beitrag: 05.07.09, 10:23
  2. DataTable-Inhalt sortieren
    Von ceene im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 2
    Letzter Beitrag: 23.09.08, 12:44
  3. SQL Abfragen nochmal sortieren
    Von DenisCGN im Forum Relationale Datenbanksysteme
    Antworten: 7
    Letzter Beitrag: 03.01.08, 17:21
  4. [MySQL] Zwei Tabellen abfragen und Ergebnis sortieren
    Von DJLopez im Forum Relationale Datenbanksysteme
    Antworten: 3
    Letzter Beitrag: 01.07.07, 23:49
  5. Inhalt einer Textdatei sortieren
    Von d4kine im Forum .NET Datenverwaltung
    Antworten: 3
    Letzter Beitrag: 07.01.07, 23:49