Vyhladávanie v dvoch tabuľkách
-
miso250593
Medium Expert
- Príspevky: 89
- Registrovaný: 11 júl 2008, 16:53
- Kontaktovať používateľa:
Vyhladávanie v dvoch tabuľkách
Ahojte, situácia je takáto
mám dve tabuľky
1. Autory, v nich mam položky
autor_id
autor_meno
2. Polozky
polozka_id
polozka_autor
polozka_nazov
...
ide o to že mam vyhľadávacie pole, kde zadám aj názov autora a aj položky
teda dám hľadať "nejaky autor nejaku polozku"
ako by ste taketo niečo riešili?
mám dve tabuľky
1. Autory, v nich mam položky
autor_id
autor_meno
2. Polozky
polozka_id
polozka_autor
polozka_nazov
...
ide o to že mam vyhľadávacie pole, kde zadám aj názov autora a aj položky
teda dám hľadať "nejaky autor nejaku polozku"
ako by ste taketo niečo riešili?
Re: Vyhladávanie v dvoch tabuľkách
Jednoducho prehladavas vsetky polia z oboch tabuliek a zobrazujes len vysledky riadkov, kde sa to hladane slovo autora alebo polozky nachadza.
Re: Vyhladávanie v dvoch tabuľkách
zalezi tiez od vysledku vyhladavania
ak chces nieco ako je na csfd ze zadas nieco do vyhladavania a vyhodi ti to zvlast hercov(autor) a zvlast filmy(polozky)
tak to urobis normalne dvoma select-ami
ak tie tabulky spojis podla napr. autora tak potom jeden select a where podmienka
where polozka_autor like(%premenna%) or polozka_nazov like(%premenna%)
ked presnejsie zadefinujes co potrebujes da sa poradit viac
ak chces nieco ako je na csfd ze zadas nieco do vyhladavania a vyhodi ti to zvlast hercov(autor) a zvlast filmy(polozky)
tak to urobis normalne dvoma select-ami
ak tie tabulky spojis podla napr. autora tak potom jeden select a where podmienka
where polozka_autor like(%premenna%) or polozka_nazov like(%premenna%)
ked presnejsie zadefinujes co potrebujes da sa poradit viac
-
miso250593
Medium Expert
- Príspevky: 89
- Registrovaný: 11 júl 2008, 16:53
- Kontaktovať používateľa:
Re: Vyhladávanie v dvoch tabuľkách
no budem zobrazovať v podstate výsledky z tabulky Polozky
keby nemam aj tabuľku autory tak by som to vyberal selectom z Polozky
keby nemam aj tabuľku autory tak by som to vyberal selectom z Polozky
Re: Vyhladávanie v dvoch tabuľkách
ked budes zobrazovat len polozky z tabulky Polozky tak je to snad jednoduch nie?
select * from Polozky
where polozka_autor like(%premenna%) or polozka_nazov like(%premenna%)
tabulka Autory ta potom nemusi zaujimat
select * from Polozky
where polozka_autor like(%premenna%) or polozka_nazov like(%premenna%)
tabulka Autory ta potom nemusi zaujimat
-
miso250593
Medium Expert
- Príspevky: 89
- Registrovaný: 11 júl 2008, 16:53
- Kontaktovať používateľa:
Re: Vyhladávanie v dvoch tabuľkách
v tom polozka_autor mam id autora
ale myslím asi takto
dúfam že to nieje až moc nezrozumitelné
ale myslím asi takto
lenže ja chcem, keďže povedzme autor môže mať aj viac slov, tak by som to rozdelil podla medzier, a potom hľadal jednotlive, slova, lenže týmto spôsobom by mi našlo všetko možné, a tie ktoré by som chcel by možno boli až na poslednej strane, ono ak by šlo nejako usporiadať podľa počtu najdených zhôdSELECT a.autor_meno, p.* FROM Autory a, Polozky p WHERE (a.autor_meno like(%premenna%) OR p.polozka_nazov like(%premenna%)) AND p.polozka_autor = a.autor_id
dúfam že to nieje až moc nezrozumitelné
Re: Vyhladávanie v dvoch tabuľkách
zaprve pokial mas v polozka_autor id autora tak premenovat na id_autor, aby si sa v tom vyznal nielen ty, ale aj ten co v tom bude robit po tebe
takze ked niekto zada do policka Pavol Gašparovič Hlbina tak to pojde po kazdom slove?
a ked niekto zada Smelý Zajko v Afrike, co spravis s "v"?
to co chces sa uz neda spravit obyc selectom
treba sa zamysliet ci sa to opalti - diakritika, predlozky, spojky ...
polozku by sa dalo rozdelit na slova a ist s like po riadkoch a zapisovat si vysledky do tmp tabuly a zobrazit podla poctu zhod v danom riadku, bolo by ale asi najlepsie vyradit kratke vyrazy aj ked to tiez nieje lahke, kedze 'alebo' ma 5 znakov a 'Jan' iba 3
takze ked niekto zada do policka Pavol Gašparovič Hlbina tak to pojde po kazdom slove?
a ked niekto zada Smelý Zajko v Afrike, co spravis s "v"?
to co chces sa uz neda spravit obyc selectom
treba sa zamysliet ci sa to opalti - diakritika, predlozky, spojky ...
polozku by sa dalo rozdelit na slova a ist s like po riadkoch a zapisovat si vysledky do tmp tabuly a zobrazit podla poctu zhod v danom riadku, bolo by ale asi najlepsie vyradit kratke vyrazy aj ked to tiez nieje lahke, kedze 'alebo' ma 5 znakov a 'Jan' iba 3
-
miso250593
Medium Expert
- Príspevky: 89
- Registrovaný: 11 júl 2008, 16:53
- Kontaktovať používateľa:
Re: Vyhladávanie v dvoch tabuľkách
Ďakujem zamyslím sa nad tým, a asi to hodim do jedného stĺpca 
Re: Vyhladávanie v dvoch tabuľkách
Ak ta tabulka autori obsahuje len id_autora a autor_meno, tak je uplne zbytocna a v tabulke polozky si daj namiesto id_autora autor_meno
Re: Vyhladávanie v dvoch tabuľkách
nieje zbytocna, jeden autor moze mat aj 100 knih a potom by sa zbytocne zvacsoval objem dat, takto je to urcite lepsiePreetro napísal:Ak ta tabulka autori obsahuje len id_autora a autor_meno, tak je uplne zbytocna a v tabulke polozky si daj namiesto id_autora autor_meno