Join: nach 2 Werte ordnen

Werbung:
@akretschmer
nein -.- =), dann läuft gar nichts mehr.

Edit:
Könnte ich auch nicht, habe ich gerade gesehen (Anbieter hat nur MySQL).
Edit2:
Und nein ich wechsle nicht den Anbieter dafür =).
 
Irgendwie so ??
SELECT
Ku.Name, Ku.Straße, Ku.Ortschaft, Ku.vertreterid, ka.id, ka.idkunde, ka.dateverkaufkunde, ka.mengeneed, ka.productneed, ka.dateneed
FROM
Ku INNER JOIN
ka ON Ku.id=ka.idkunde

(
SELECT
Name, Straße, Ortschaft, vertreterid, id, idkunde, dateverkaufkunde, mengeneed, productneed, dateneed AS dateneed2
FROM
(
SELECT
Ku.Name, Ku.Straße, Ku.Ortschaft, Ku.vertreterid, ka.id, ka.idkunde, ka.dateverkaufkunde, ka.mengeneed, ka.productneed, ka.dateneed
FROM
Ku INNER JOIN
ka ON Ku.id=ka.idkunde
ORDER BY dateneed DESC
)
GROUP BY (Name)
ORDER BY dateneed2
)

ORDER BY dateneed2, ka.idkunde, dateneed​
 
Vom inneren subselect bekommt man von jedem Kunde den Eintrag des jüngsten Datum. Wenn ich danach irgendwie ordnen könnte müsste es doch klappen.
 
Werbung:
Du suchst:
Code:
WITH tabelle(kunde,datum) AS (
SELECT 'Kunde 1',cast('2017-02-06' AS DATE) UNION ALL
SELECT 'Kunde 1','2017-02-05' UNION ALL
SELECT 'Kunde 2','2017-02-07' UNION ALL
SELECT 'Kunde 2','2017-02-06'
   )
SELECT  tabelle. *
FROM   tabelle
LEFT JOIN (

SELECT   kunde,
     max(datum) AS datum
FROM   tabelle
GROUP BY kunde

     ) t
ON     tabelle.kunde = t.kunde
ORDER BY t.datum DESC,tabelle.kunde,tabelle.datum DESC
Das WITH tabelle() kannst du dir sparen, das ist zum testen und läuft nicht in MySQL. Der Rest kann aber so übertragen werden.
 
Zurück
Oben