Avatar billede andersjo Nybegynder
24. oktober 2005 - 14:41 Der er 1 løsning

Max() og join

Jeg har en rekke varer delt inn i kategorier og ønsker å finne den varen i hver kategori som sist er lagt til.

Jeg har prøvd med denne SQL-settningen:
SELECT p.products_id, max(p.products_date_added) as date_added, ptc.categories_id FROM products p inner join products_to_categories ptc on p.products_id = ptc.products_id WHERE p.products_date_added > 0 GROUP BY ptc.categories_id

Dette gir:
products_id  date_added          categories_id 
12839        2005-10-24 13:05:23  22
12779        2005-04-08 15:58:05  60
12781        2005-04-07 21:58:42  63
12840        2005-10-24 12:21:48  64
12791        2005-04-13 21:36:51  71
12785        2005-04-12 12:19:55  72
12782        2005-05-02 15:05:37  73
12838        2005-10-17 16:39:51  74

Her finner jeg den nyeste datoen for hver kategori, men prodikt-id'en stemmer ikke overens med datoen. For categories_id 22 er riktig Products_id 12841. 12839 er den andre av to produkter i kategori 22.

Hva gjør jeg feil?
Avatar billede andersjo Nybegynder
27. oktober 2005 - 10:53 #1
Problemet er løst på en annen måte....

Stenger.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester