Autor Zpráva
Apacuka
Profil
Zdravim,
jakym dotazem prosim zjistim opakujici se slova ve 3 sloupcich ?

3 sloupce a, b, c
slova - auto, kolo, pc, papir, ...

potrebuji vyselectovat slova ktera jsou obsazena ve vsech trech sloupcuch.

Dekuji
ninja
Profil
SELECT t1.a FROM tabulka t1 JOIN tabulka t2 ON t1.a=t2.b JOIN tabulka t3 ON t1.a=t3.c GROUP BY t1.a;
Apacuka
Profil
jaj .. se omlouvam
Sem byl uz dost unavenej, kdyz sem tu prosbicku psal.

sloupce - slovo, kategorie

slovo - cokoliv
kategorie - jsou cisla 1,2 nebo 3

a potrebuji vyselectovat vsechny slova, ktery patri do vsech 3 kategorii.
Takze pokud by treba slvovo "auto" patrilo do vsech, tak by se vypsalo.
Kazdy to slovo vypsat pouze jednou ... tzn. vypsat pouze
- dobre - auto
- spatne - auto, auto, auto
Kajman_
Profil *
http://diskuse.jakpsatweb.cz/?action=vthread&forum=28&topic=80571#5
Apacuka
Profil
Diky moc.
Stejne sem musel zabrouzdat na net, ale aspon me to navedlo na HAVING, ktery sem vubec neznal.

Po mensi uprave tedy vysledny dotaz:

SELECT * FROM tabulka WHERE kateg IN (1,2,3) GROUP BY slovo HAVING count(kateg)=3


pro prehled jeste jednou zadani :)

mam:
+----+-------+-------+
| id | slovo | kateg |
+----+-------+-------+
| 1  | kolo  |   1   |
| 2  | kolo  |   3   | 
| 3  | auto  |   2   |
| 4  | motor |   1   |
| 5  | motor |   3   |
| 6  | auto  |   3   |
| 7  | kolo  |   2   | 
| 8  | auto  |   1   | 
+----+-------+-------+


result
+----+-------+-------+
| id | slovo | kateg |
+----+-------+-------+
| 3  | auto  |   2   |
| 1  | kolo  |   1   |
+----+-------+-------+
Apacuka
Profil
Jeste bych chtel pomoct s jednou veci.

Zdroj:
+----+-------+-------+
| id | slovo | kateg |
+----+-------+-------+
| 3  | auto  |   2   |
| 1  | kolo  |   1   |
+----+-------+-------+

kdyz kliknu na odkaz "auto"
tak bude odkaz vypadat - ?id=3&slovo=auto
nebo - ?id=3

Potrebuji vyselectovat vsechny id od slova auto a seradit podle kateg

result ( echo "$id"; )
8,3,6
Kajman_
Profil *
SELECT slovo, group_concat(distinct id order by kateg) ids FROM tabulka WHERE kateg IN (1,2,3) GROUP BY slovo HAVING count(distinct kateg)=3
Apacuka
Profil
tady premyslim nad nejakyma slozitostma a proto si jdu pro radu, a on to byl uplne zakladni dotaz :(

vzdy funguje
SELECT * FROM tabulka WHERE id=$id
pri pouziti
SELECT * FROM tabulka WHERE slovo=$slovo .. to nefungovalo

takze spravne pri pouziti odkazu ... ?slovo=auto
SELECT id FROM tabulka WHERE slovo='$slovo' AND kateg IN (1,2) ORDER BY kateg 


i tak diky za snahu

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