13. november 2004 - 14:53Der er
8 kommentarer og 1 løsning
relation eller sub-select ?
Jeg har en tabel med produkter og en der indeholder en log over hvornår disse er blevet vist.
I log tabelen logges tidspunkt, produkt_id, nu er det sådanne at jeg gerne vil have at et produkt kun må vises 10 gange på en dag, hvordan gør jeg det nemmeste ?
Øjeblik, der er lige en lille fejl. Den viser alle som ikke har mindre end ti loghændelser, men du vil jo have den så den viser alle som har mindre end ti log hændelser i dag.
Det skal vist være SELECT produkt.produkt, log.vist FROM produkt LEFT JOIN log ON produkt.id=log.produkt GROUP BY produkt.produkt, log.vist HAVING Count(log.id)<=10; istedet. Men jeg kan ikke lige løse dit problem hvis det skal være hændelser i dag. Så jeg må sige, at jeg var lidt for hurtig til at svare. Håber der er en anden der har en løsning.
Så burde det virke SELECT * FROM produkt WHERE id NOT IN (SELECT produkt.id FROM produkt LEFT JOIN log ON produkt.id=log.produkt GROUP BY produkt.produkt, produkt.id, log.vist HAVING (((log.vist)=Date()) AND ((Count(log.id))>9)));
Ja, det er vist rigtigt. Det er først i 4.1 det virker, prøv følgende istedet. Har ikke testet det på en MySQL men det burde virke: SELECT produkt.produkt FROM produkt LEFT JOIN log ON produkt.id=log.produkt GROUP BY produkt.produkt, produkt.id, log.vist HAVING NOT (((log.vist)=Date()) AND ((Count(log.id))>9));
Var så lidt ... nej det virkede ikke helt men lavede mit projekt om, så jeg fandt en anden løsning. Takker for hjælpen.
Synes godt om
Ny brugerNybegynder
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.