Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 13

Thema: MySQL ORDER BY

  1. #1
    Meister(in) Avatar von Teron Gerofied
    Registriert seit
    26.01.2008
    Ort
    serverraum
    Alter
    26
    Beiträge
    347
    Danke
    0
    Bekam 1 mal "Danke" in 1 Posting

    Standard MySQL ORDER BY

    Hallo!

    Ich hab ein Problem, was sich als Schwieriger gestalten dürfte.

    Ich habe folgenden MySQL Code:

    $sql = "SELECT cat.cat_id, cat.cat_view_level, cat.cat_title, cat.cat_view, cat.cat_date, cat.cat_event_id, cat.cat_location_id, loc.location_id, loc.location_name, COUNT(pic.pic_id) AS pic_count, pic.pic_thumbnail, event.event_name, event.event_date FROM ".ALBUM_CAT_TABLE." AS cat
    LEFT JOIN ".LOCATION_TABLE." AS loc
    ON cat.cat_location_id = loc.location_id
    LEFT JOIN ".ALBUM_TABLE." AS pic
    ON cat.cat_id = pic.pic_cat_id
    LEFT JOIN ".EVENT_TABLE." AS event
    ON cat.cat_event_id = event.event_id

    WHERE cat.cat_user_id='0' AND cat.cat_parent='0'
    GROUP BY cat.cat_title, cat.cat_id
    ORDER BY cat.cat_order DESC, cat.cat_id DESC";

    Dieser sorgt dafür, dass Fotoalbum-Ordner in eine Liste geladen werden. Grob gesagt.

    Diese Liste soll sich sortieren und zwar nach Datum. Allerdings gibt es da zwei verschiedene Quellen:

    Manche Daten werden aus cat.cat_date bezogen, manche (die meisten) aber aus event.event_date.

    Wenn ich in Order By aber event.event_date DESC, cat.cat_date DESC schreibe werden die Ergebnisse zwar richtig sortiert aber getrennt. Ich möchte, dass diese Ergebnisse zusammengefügt werden.

    Wie mach' ich das?

    Danke für Hilfe!
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!
    PHP-Code:
    if(isset($this) || !isset($this)){ // that's the question... 

  2. #2
    Jedi Ritter Avatar von Dodo
    Registriert seit
    26.04.2008
    Ort
    Wien
    Alter
    27
    Beiträge
    3.774
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings
    Blog-Einträge
    1

    Standard

    Einzige Idee von mir: Versuch nen anderen Join als LEFT JOIN

    Sorry hab Joins noch nie verwendet, kann da nicht viel sagen.
    Aber meine schätzung ist dass LEFT JOIN die Tabellen nicht durchmischt
    Something big is coming. And there will be pirates and ninjas and unicorns...

  3. #3
    Kaiserliche Hoheit Avatar von No0ob
    Registriert seit
    02.01.2006
    Ort
    Nähe Frankfurt
    Beiträge
    1.500
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Wieso zweimal einen Timestamp/Datum speichern?
    Ich seh da gerade keinen Sinn darin

  4. #4
    Jedi Ritter Avatar von Dodo
    Registriert seit
    26.04.2008
    Ort
    Wien
    Alter
    27
    Beiträge
    3.774
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings
    Blog-Einträge
    1

    Standard

    ganz einfach: er hat 2 unabhängige Tabellen
    Something big is coming. And there will be pirates and ninjas and unicorns...

  5. #5
    Kaiserliche Hoheit Avatar von No0ob
    Registriert seit
    02.01.2006
    Ort
    Nähe Frankfurt
    Beiträge
    1.500
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Du hast mein Problem nicht verstanden.
    Wozu zweimal einen Timestamp speichern? Einen für das Event und eins für die Kategorie?
    Wieso sollte eine Kategorie einen Timestamp besitzen

  6. #6
    Jedi Ritter Avatar von Dodo
    Registriert seit
    26.04.2008
    Ort
    Wien
    Alter
    27
    Beiträge
    3.774
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings
    Blog-Einträge
    1

    Standard

    keine ahnung, er wird schon seinen grund gehabt haben, wieso er da einen timestamp will.
    Something big is coming. And there will be pirates and ninjas and unicorns...

  7. #7
    König(in) Avatar von sudeki05
    Registriert seit
    04.05.2006
    Ort
    Hamburg
    Alter
    28
    Beiträge
    1.435
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Mit:

    Code:
    INNER JOIN eventtable2 ON eventtable1.date=eventtable2.date ORDER BY  eventtable1.date DESC
    sollte es funktionieren

    Problems with Windows? - Reboot
    Problems with UNIX? - Be Root

  8. #8
    Meister(in)
    Themenstarter
    Avatar von Teron Gerofied
    Registriert seit
    26.01.2008
    Ort
    serverraum
    Alter
    26
    Beiträge
    347
    Danke
    0
    Bekam 1 mal "Danke" in 1 Posting

    Standard

    Zitat Zitat von sudeki05 Beitrag anzeigen
    Mit:

    Code:
    INNER JOIN eventtable2 ON eventtable1.date=eventtable2.date ORDER BY  eventtable1.date DESC
    sollte es funktionieren
    Hallo!

    Also ich habe das mal so probiert:

    Code:
    SELECT cat.cat_id, cat.cat_view_level, cat.cat_title, cat.cat_view, cat.cat_date, cat.cat_event_id, cat.cat_location_id, loc.location_id, loc.location_name, COUNT(pic.pic_id) AS pic_count, pic.pic_thumbnail, event.event_name, event.event_date FROM ".ALBUM_CAT_TABLE." AS cat
            LEFT JOIN ".LOCATION_TABLE." AS loc
            ON cat.cat_location_id = loc.location_id
            LEFT JOIN ".ALBUM_TABLE." AS pic
            ON cat.cat_id = pic.pic_cat_id
            LEFT JOIN ".EVENT_TABLE." AS event
            ON cat.cat_event_id = event.event_id
            INNER JOIN ".EVENT_TABLE."
            ON cat.cat_date = event.event_date
        
            WHERE cat.cat_user_id='0' AND cat.cat_parent='0'
            GROUP BY cat.cat_title, cat.cat_id
            ORDER BY cat.cat_order DESC, cat.cat_date DESC
    Aber das funktioniert nicht?

    Was mache ich falsch?

    Mfg
    PHP-Code:
    if(isset($this) || !isset($this)){ // that's the question... 

  9. #9
    Meister(in)
    Themenstarter
    Avatar von Teron Gerofied
    Registriert seit
    26.01.2008
    Ort
    serverraum
    Alter
    26
    Beiträge
    347
    Danke
    0
    Bekam 1 mal "Danke" in 1 Posting

    Standard

    Sorry fürs Flooden, aber ich bräuchte ganz, ganz dringend Hilfe!

    Danke!
    PHP-Code:
    if(isset($this) || !isset($this)){ // that's the question... 

  10. #10
    Kaiserliche Hoheit Avatar von No0ob
    Registriert seit
    02.01.2006
    Ort
    Nähe Frankfurt
    Beiträge
    1.500
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Um sudeki's Vorschlag zu übernehmen musst du die INNER JOIN Zeile löschen und dein LEFT JOIN EVENT_TABLE etc in ein INNER JOIN verwandeln

Ähnliche Themen

  1. Order by ...
    Von Rambor im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 5
    Letzter Beitrag: 12.05.2008, 15:08
  2. kurze Frage zu MYSQL - ORDER BY umkehren
    Von Acendro im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 2
    Letzter Beitrag: 28.10.2007, 18:33
  3. nur ORDER BY ändern
    Von im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 4
    Letzter Beitrag: 11.08.2007, 13:48
  4. sql - order by frage
    Von Knüps im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 1
    Letzter Beitrag: 30.05.2007, 11:54
  5. ORDER BY
    Von cookie im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 2
    Letzter Beitrag: 14.08.2005, 13:29

Stichworte

Berechtigungen

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