Jag vill hämta fram böcker och tidningar från ett visst förlag. Alla böcker ska visas men bara den senast utkomna tidningen. Jag skulle kunna göra ungefär så här:
SELECT produktnamn FROM produkter WHERE forlag = 12 AND produkttyp = 'tidning' ORDER BY datum DESC LIMIT 1
...och sen köra en till sats:
SELECT produktnamn FROM produkter WHERE forlag = 12 AND produkttyp = 'bocker' ORDER BY datum DESC
Men eftersom jag har en pagingfunktion skulle jag vilja slå ihop de här satserna. Låter det sig göras och i såna fall hur?
Tack på förhand! :bire
SELECT produktnamn
FROM produkter
WHERE forlag = 12
AND ((produkttyp = 'tidning'
and datum in (select max(datum)
from produkter
where forlag = 12
and produktyp = 'tidning'))
or produkttyp = 'bocker')
ORDER BY datum DESC
Det ser jättebra ut, tack! Måste verkligen lära mig använda de där räknefunktionerna mer, och jag visste inte att MySQL fixar såna där nästlade satser? Glömde iofs säga att jag använder MySQL.
Tyvärr ligger Crystone, där vår hemsida finns, nere och man kommer inte ens in på deras hemsida så jag kan inte testa koden för tillfället.