select p.id, p.titel1, p.pris, p.foerpris, p.stdimage, p.categoryid, p.produkterlager from ishop_products p inner join ishop_categories c on (p.categoryid = c.id or p.categoryid = c.parentid) and p.deleted=0 --where c.pageid = 149
levere det ønskede ? NB: kolonnenavnene skal nok lige checkes...
Du kan sætte den udkommenterede where betingelse på hvis du har behov for den.
Den du har lavet ser egentlig rigtig ud, men af en eller anden grund får jeg ikke de rigtigt produkter, rent fakstisk får jeg slet ingen (med where c.pageid = 149 og alle uden where c.pageid = 149).
Hmm... Muligvis forstår jeg ikke helt hvor du vil hen.
Den du har med OR på categoryID vil returnere alle der enten har pageid=149 eller hvor parentid=4. Der er ingen binding "på tværs" af de to betingelser.
Kan du ikke skrive nogle flere linjer med test-data til de forskellige tabeller og resultatet?
pcl -> hvis du bare vil have at sidste linje i din select skal være lig med categoryID så gør sådan her:
SELECT ID, Titel1, Pris, FoerPris, stdImage, ProdukterLager, categoryID FROM ishop_produkter ip WHERE Deleted = 0 And ip.categoryID IN (SELECT ID FROM ishop_categories WHERE pageID = 149) Or ip.categoryID IN (SELECT ID FROM ishop_categories WHERE ParentID = ip.categoryID)
Det er ikke det kønneste sarg, men hvis du kan klare dig er det jo topnice :O)
det ser rigtigt ud, men der kommer kun data fra den første (And ip.categoryID IN (SELECT ID FROM ishop_categories WHERE pageID = 149) ).
De data der hører til den sidste del af queryen kommer ikke med.
Jeg fatter det ikke!.
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.