Trädvy Permalänk
Medlem
Plats
Karlstad
Registrerad
Mar 2003

SQL fråga klurigher

Hej!

Jag ska ur lagret plocka fram när vissa ordernummer togs emot, problemet är att ett ordernummer är kopplad till enskilda artiklar som kan ha lossats över ett span av datum.

när jag kör.

(transaction=10 betyder in i lagret)

SELECT DISTINCT ordernr, datum
FROM Store
WHERE (transaction = 10)
ORDER BY datum

Detta leder till att jag får ett datum, vilket som helst mellan först lossad och sist lossad.
Går det att visa datumet för först förekommande, eller sist förekommande?

K#

Trädvy Permalänk
Moderator
Registrerad
Aug 2007

Prova Max() eller Min() på datumet. Du behöver då också lägga till GROUP BY ordernr.

Använd gilla för att markera nyttiga inlägg!

Trädvy Permalänk
Medlem
Plats
Karlstad
Registrerad
Mar 2003
Skrivet av giplet:

Prova Max() eller Min() på datumet. Du behöver då också lägga till GROUP BY ordernr.

Är nåt på spåret, kruxet nu är att den listar alla datum, vill endast ha ett datum per ordernr.
Testade distinct MAX(datum) men det verkade inte funka..

K#

Trädvy Permalänk
Moderator
Registrerad
Aug 2007
Skrivet av atman:

Är nåt på spåret, kruxet nu är att den listar alla datum, vill endast ha ett datum per ordernr.
Testade distinct MAX(datum) men det verkade inte funka..

Och du la även till GROUP BY? Dessutom tycker jag inte att DISTINCT bör göra någon skillnad om du använder Max eller Min, så den hade jag tagit bort.

SELECT ordernr, Min(datum) AS forstadatum FROM Store WHERE (transaction = 10) GROUP BY ordernr

Använd gilla för att markera nyttiga inlägg!

Trädvy Permalänk
Medlem
Plats
Karlstad
Registrerad
Mar 2003
Skrivet av giplet:

Och du la även till GROUP BY? Dessutom tycker jag inte att DISTINCT bör göra någon skillnad om du använder Max eller Min, så den hade jag tagit bort.

SELECT ordernr, Min(datum) AS forstadatum FROM Store WHERE (transaction = 10) GROUP BY ordernr

Kanon, nu funkade det.. körde group by ordernr, datum... *doh*

Tack för hjälpen.

K#