Autor Zpráva
karbon
Profil *
Mám tabulku, ve které jsou 2 sloupce - nazev a odkaz. Podle odkazu se data slučují do skupin a já bych potřeboval zjistit, zda existuje skupina s prvky, které se rovnají určitým hodnotám. Např. budu mít slova "stůl" a "lavice" a chci najít (a popř. vypsat) skupinu, která tyto prvky obsahuje. Je vůbec taková architektura tabulky na toto vhodná?
havs
Profil
A vybrat to prohledáním?
$vysledek = mysql_query("SELECT * FROM `$tb` WHERE `sloupec` LIKE '%stůl%' OR `sloupec` LIKE '%lavice%'");
karbon
Profil *
havs
Tento příkaz sice má nějakou funkci, ale není úplně to, co jsem čekal. Já potřebuji vybrat název skupiny, která obsahuje všechny hledané prvky, ne pouze určitý z nich. Kdybych ale použil AND, nedostal bych z databáze nic, protože každé hledané slovo je vráceno v samostatném řádku.
Kajman_
Profil *
např.
select skupina where prvek in ('stul','lavice') group by skupina having count(distinct prvek)=2
karbon
Profil *
Kajman_
Děkuji, funguje skvěle! Jen by mě zajímalo, jaký vliv má konec dotazu having count(distinct prvek)=2.
ninja
Profil
karbon: Jen by mě zajímalo, jaký vliv má konec dotazu having count(distinct prvek)=2

Omezi vysledek pouze na ty, kde byly nalezeny 2 rozdilne hodny ve sloupci prvek.

Jinak by vam i vice vysledku, napriklad skupinu kde je vicekrat stul, ale ani jednou lavice.
Kajman_
Profil *
Přesně tak. Pokud budete rozšiřovat tu závorku hodnot, které hledáte, tak místo té dvojky napíšete počet jedinečných hodnot ze závorky.
karbon
Profil *
ninja, Kajman_
Děkuji za objasnění.

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: