Autor | Zpráva | ||
---|---|---|---|
Miri Profil * |
#1 · Zasláno: 23. 3. 2013, 21:34:42
Ahoj, prosím vás o radu, už se s tím peru celý den a nemohu na to přijít. Mám tento kod
SELECT ... ,COUNT(*) as pocetvybr ,... FROM `produkt` INNER JOIN `filtr_has_produkt` ON filtr_has_produkt.produkt_idprodukt = produkt.idprodukt AND filtr_has_produkt.filtr_idfiltr IN ( 36,91,92,37 ) LEFT JOIN produktnazev AS pn ON pn.produkt_idprodukt = produkt.idprodukt and pn.jazyk_idjazyk = 1 JOIN `produktkus` ON produktkus.produkt_idprodukt = produkt.idprodukt and produktkus.datumOd IS NOT NULL WHERE produkt.zobrazovat = 1 and datumOd >= '2013-03-23' and datumDo <= '2014-03-23' GROUP BY `idproduktkus` HAVING pocetvybr >= 4 ORDER BY datumOd ASC LIMIT 0,10 Tento kod vybere kusy produktu kde produkt ve filtru je právě v (36,91,92,37). - toto funguje. Ale rozhodnu li se přidat část, která mi nahradí překlad který neexistuje axistujícím překladem, přestane to fungovat a zobrazují se i produkty, které nesplňují hodnoty filtru: Zde přikládám špatný dotaz: SELECT ... ,COUNT(*) as pocetvybr ,... ,coalesce(pn.nazev, pncz.nazev) AS nazev FROM `produkt` INNER JOIN `filtr_has_produkt` ON filtr_has_produkt.produkt_idprodukt = produkt.idprodukt AND filtr_has_produkt.filtr_idfiltr IN ( 36,91,92,37 ) LEFT JOIN produktnazev AS pn ON pn.produkt_idprodukt = produkt.idprodukt and pn.jazyk_idjazyk = 1 LEFT JOIN produktnazev AS pncz ON pncz.produkt_idprodukt = produkt.idprodukt JOIN `produktkus` ON produktkus.produkt_idprodukt = produkt.idprodukt and produktkus.datumOd IS NOT NULL WHERE produkt.zobrazovat = 1 and datumOd >= '2013-03-23' and datumDo <= '2014-03-23' GROUP BY `idproduktkus` HAVING pocetvybr >= 4 ORDER BY datumOd ASC LIMIT 0,10 Předem mockrát díky za každou pomoc. Míra |
||
Kajman Profil |
#2 · Zasláno: 23. 3. 2013, 23:01:36
COUNT(distinct filtr_has_produkt.filtr_idfiltr) as pocetvybr |
||
Miri Profil * |
#3 · Zasláno: 24. 3. 2013, 00:16:11
Super funguje, díky moc.
|
||
Časová prodleva: 11 let
|
0