Autor | Zpráva | ||
---|---|---|---|
Prkny Profil |
#1 · Zasláno: 8. 5. 2012, 16:36:19
Dobrý den, prosím o pomoc s dotazem.
Mám následující tabulku: id, id_parametru, id_zbozi 8 12 16789 9 9 16789 10 4 16634 11 9 16634 12 4 16627 13 8 16627 14 4 16626 15 7 16626 Potřebuji vypis zboží, aby vysledek byl např. 16626: Mám id_parametr 4 a 7 dotaz typu: SELECT id_zbozi FROM parametry_zb WHERE (id_parametru='4') AND (id_parametru='7') je špatně, jak se tedy na to zeptat, aby když mám id_parametru např. 4 a 7 tak to ukázalo 16626 ? |
||
David1256 Profil |
#2 · Zasláno: 8. 5. 2012, 16:45:44
$zbozi = mysql_query("SELECT * FROM parametry_zb where (id_parametru='4') AND (id_parametru='7') ORDER BY id"); while($row = mysql_fetch_array($zbozi) ) echo $row['id_zbozi']; |
||
Darker Profil |
Co tam dát OR místo and?
SELECT id_zbozi FROM `parametry_zb` WHERE id_parametru=4 OR id_parametru=7 |
||
Tori Profil |
#4 · Zasláno: 8. 5. 2012, 18:52:36
|
||
Prkny Profil |
#5 · Zasláno: 8. 5. 2012, 21:59:58 · Upravil/a: Prkny
David1256:
toto bohužel nic nevypíše Darker Když se tam dá OR tak to třeba vypíše zboží které obsahuje 4 ale neobsahuje 7 Tori: podle toho odkazu jsem vypotil toto, ale je to také špatně, vypíše to i zboží které má id_parametru 4 a 8 select id_zbozi from parametry_zb where id_parametru in (4,7) group by id_zbozi přehlédl jsem zbytek, toto asi funguje select id_zbozi from parametry_zb where id_parametru in (4,7) group by id_zbozi having count(distinct id_parametru) = 2 |
||
Časová prodleva: 13 let
|
0