05.09.2012 13:13
1
Dobrý den,

mám v MySQL tři tabulky. Jedna se jmenuje "prace", druhá "kraje", třetí "druh".

Řeším nyní dilema. Mám formulář s jedním text fieldem + dva selekty. Rád bych, aby se querry přizpůsobovala podle toho, co uživatel zadá.

Například:
Fulltext (input) + druh práce - zobrazí se společné záznamy, kde je parametr druh práce + fulltextové vyhledávání přes input
Druh + kraj - zobrazení jen společných záznamů z kraje a druhu

Jak vypadají přibližné dotazy:
SELECT * FROM prace, kraje WHERE prace.kraj = kraje.id AND prace.kraj = 1
SELECT * FROM prace, druh WHERE prace.druh_prace = druh.id AND prace.druh = 1
select * from prace where match (nazev_prace) against ('Co hledám');


Hledal jsem a líbila se mi funkce INTERSECT, která však není bohužel pro MySQL dostupná.

Projekt dělám v čistém PHP.

Děkuji, za každou radu.
05.09.2012 14:31
2
Databáze už jsem pár let neviděl, ale co vyzkoušet tohle.

SELECT * FROM prace LEFT JOIN kraje ON prace.kraj = kraje.id LEFT JOIN druh ON prace.druh_prace = druh.id WHERE prace.druh = 1 AND prace.kraj = 1 AND match (prace.nazev_prace) against ('Co hledám');