Vinnaren i pepparkakshustävlingen!
2008-10-08, 23:40
  #1
Medlem
ChristianXs avatar
Har kört fast lite med en query. Jag har två tabeller som jag joinar, och det går alldeles utmärkt. Dock är det så att i den ena tabellen med artiklar finns det flera versioner, medan i den andra med prislistan finns det bara ett pris per artikel. Låt oss säga att det ser ut så här:

Artregister:

Artnr | Benämning | Datum
1 | Gammal benämning1 | 2007-01-01
1 | Ny benämning1 | 2008-01-07
2 | Gammal benämning2 | 2007-01-01
2 | Ny benämning2 | 2008-01-03


Prislista:

Artnr | Pris
1 | 500
2 | 400


Jag vill ha ett recordset enligt följande:

Artnr | Benämning | Pris
1 | Ny benämning1 | 500
2 | Ny benämning2 | 400


Hur löser jag det? Nån nästad sats? Jag kör MSSQL 2K.

Nån som har nån bra ide?
Citera
2008-10-08, 23:59
  #2
Medlem
Citat:
Ursprungligen postat av ChristianX
Har kört fast lite med en query. Jag har två tabeller som jag joinar, och det går alldeles utmärkt. Dock är det så att i den ena tabellen med artiklar finns det flera versioner, medan i den andra med prislistan finns det bara ett pris per artikel. Låt oss säga att det ser ut så här:

Artregister:

Artnr | Benämning | Datum
1 | Gammal benämning1 | 2007-01-01
1 | Ny benämning1 | 2008-01-07
2 | Gammal benämning2 | 2007-01-01
2 | Ny benämning2 | 2008-01-03


Prislista:

Artnr | Pris
1 | 500
2 | 400


Jag vill ha ett recordset enligt följande:

Artnr | Benämning | Pris
1 | Ny benämning1 | 500
2 | Ny benämning2 | 400


Hur löser jag det? Nån nästad sats? Jag kör MSSQL 2K.

Nån som har nån bra ide?

Nåt sånt här kanske.
Kod:
SELECT prislista.* FROM prislista
    LEFT JOIN (SELECT * FROM artregister GROUP BY artnr ORDER BY Datum DESC) AS x ON x.artnr = prislista.artnr
    ORDER BY vaddunuvillordnaefter
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback