Notiser

Resultat 1 till 2 av 2
  1. #1 Standard Group by max-datum MySQL 
    Reg.datum
    maj 2009
    Inlägg
    63
    Jag vill göra en SQL-fråga som sammanställer en lista med alla ordrar där ordern har orderstatus obetald innan ett givet datum. Den här frågan fungerar nästan:

    SELECT orders_status_history.orders_id, orders_status_history.date_added, orders_status.orders_status_name
    FROM orders_status_history
    INNER JOIN orders_status ON orders_status_history.orders_status_id = orders_status.orders_status_id
    WHERE date_added < '2014-05-08 00:00:00' AND orders_status.orders_status_name LIKE '%ej bet%'
    GROUP BY orders_id HAVING MAX(orders_status_history.date_added)

    Som jag förstått det funkar inte Group by att använda såsom jag gör här, det ska vara HAVING MAX(xxx) = maxdatum. Där maxdatum ska plockas fram på något sätt någonstans, hur ska jag göra?

    order_status-tabellen är uppdaterad vid ett antal tillfällen ofta kan även tabellen ha uppdaterats efter det givna datumet men den raden ska i så fall inte vara med i resultatet, enbart den senaste raden men innan datumet är av intresse.


    Tack på förhand!!
    Svara med citat  
    Oderland Webbhotell
    Oscforum.se rekommenderar Oderland vid drift av Webbutiker
    12 månaders backup och 24/7 teknisk support via telefon och chat ingår!

  2. #2 Standard  
    Reg.datum
    maj 2009
    Inlägg
    63
    Jag har löst det! För den nyfikne så blev det så här:

    SELECT orders_id, date_added, orders_status_name FROM (SELECT t.orders_id, t.date_added, t.orders_status_history_id, t.orders_status_id
    FROM ( SELECT orders_id, MAX(date_added) AS max_date FROM orders_status_history WHERE date_added < '2014-05-09 00:00:00'
    GROUP BY orders_id) AS m
    INNER JOIN orders_status_history AS t ON t.orders_id = m.orders_id AND t.date_added = m.max_date) AS q INNER JOIN orders_status AS p ON q.orders_status_id = p.orders_status_id
    WHERE p.language_id=2 AND p.orders_status_name LIKE '%ej bet%'
    GROUP BY orders_id
    Svara med citat  



Behörigheter för att posta
  • Du får inte posta nya ämnen
  • Du får inte posta svar
  • Du får inte posta bifogade filer
  • Du får inte redigera dina inlägg
  •