Autor Zpráva
Miri
Profil *
Ahoj, mam mysql dotaz
menu_idmenu IN ('" . implode("', '", $pole) . "')
Tento dotaz funguje jako OR takže vybere všechny řádky kde se vyskytuje alespon jednou $Pole. Potřeboval bych to samé použít AND kde $pole bude naplňovat menu_idmenu ve všech případech. Existuje něco takovéo ? Díky za pomoc Míra
Kajman
Profil
exactly in - vybrat při výskytu všech zadaných m:n
Miri
Profil *
Super to by mohlo být ono. Mnohokrát díky


Nějak to nechápu. Mohl by jste mi prosím ukázkově vysvětlit na tomto příkladu?
tabulka zbozi
tabulka menu
tabulka zbozi_has_menu

vybíram zbozi které má záznamy m:n v tabulce zbozi_has_menu a vybráné menu je třeba (1,3,8,9)

Díky
Miri
Profil *
Tak jsem to nakonec vykoumal, neslo mi to kvuli blbé chybě kterou jsem přehlédl.
Zde přikládám kod pro další. Je to úplně to samé co v odkazu výše, jen poupravené do mého zadání.
  $ids = implode(',', $pole);
    $pocet = count($pole);
    
    SELECT zbozi.*, COUNT(*) as pocet
    FROM zbozi
    INNER JOIN menu_has_zbozi ON menu_has_zbozi.zbozi_idzbozi = zbozi.idzbozi AND menu_has_zbozi.menu_idmenu IN ( ".$ids." )
    GROUP BY zbozi.idzbozi 
    HAVING pocet >= ".$pocet."

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0