Få vist resultater, hvor en værdi i en joinet tabel er '1'
Hejsa,
Jeg vil gerne ændre denne query, så der kun tælles poster, hvor produktbillede.status='1' i den COUNT-funktion jeg bruger. Hvis jeg tilføjer en ordinær WHERE klausul i slutningen af query'en, så kommer de produkt-poster, som ikke har noget produktbillede, ikke med.
SELECT produkt.id, producenter.navn, produkt.navn, produkt.tilbud, produkt.trybuy, COUNT(produktbillede.status) as billedeantal, produkt.pris, produkt.online, produkt.sidsteaendring FROM produkt LEFT JOIN producenter ON producenter.id = produkt.producent LEFT JOIN produktbillede ON produkt.id = produktbillede.produktid WHERE produkt.status='1' GROUP BY produkt.id
Den moderne arbejdsplads er i stigende grad afhængig af mødelokaler til at fremme samarbejde, men dette skift medfører også stigende sikkerhedsudfordringer.
Jeg vil gerne ændre denne query, så der kun tælles poster, hvor produktbillede.status='1' i den COUNT-funktion jeg bruger. Hvis jeg tilføjer en ordinær WHERE klausul i slutningen af query'en, så kommer de produkt-poster, som ikke har noget produktbillede, ikke med.
Du må jo tage stilling til om status skal være = 1 eller om de også skal kunne være tomme!
Status skal være 1, hvis den skal tælles med. Men er status f.eks. = 0, så skal den ikke tælles med, men posten fra 'produkt'-tabellen skal fortsat med i det samlede resultat.
Så jeg mener ikke, at jeg selv svarer på spørgsmålet. Jeg har i hvertfald ikke en løsning på mit spørgsmål. Måske kan du tilføjes lidt i min query?
Der er noget speget ved feltet produkt.status. Har jeg ret i at dette felt er lig 1 hvis der er tilhørende rækker i produktbillede-tabellen og 0 hvis der ikke er nogen? I så fald er det jo redundant og du kan løse problemet ved at se bort fra feltet.
SELECT produkt.id, producenter.navn, produkt.navn, produkt.tilbud, produkt.trybuy, COUNT(produktbillede.status) as billedeantal, produkt.pris, produkt.online, produkt.sidsteaendring FROM produkt LEFT JOIN producenter ON producenter.id = produkt.producent LEFT JOIN produktbillede ON produkt.id = produktbillede.produktid GROUP BY produkt.id
Ikke testet.
Alternativt er det to forskellige forespørgsler, som du godt kan pakke sammen i en, omend det bliver meget omfattende.
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.