DevProTalk

DevProTalk (http://www.devprotalk.com/index.php)
-   SQL baze podataka - Sponzor: Baze-Podataka.net (http://www.devprotalk.com/forumdisplay.php?f=10)
-   -   LIKE, vise zapisa (http://www.devprotalk.com/showthread.php?t=5125)

Ivan 16. 04. 2008. 01:23

:)

@kodi, ne nego necu da mi dva puta vrati row koji zadovoljava samo prvi LIKE, vec hocu jedan row iz prvog uslova a drugi iz drugog

@misk0, hvala na trudu al mislim da to ne resava problem ... zbog OR

@jablan, postoji n kolona i problem je sledeci:

Postoji baza sa n zapisa o nekim artiklima, svaki artikal ima svoj izvor (nesto tipa url) i kategoriju. Postoji druga tablica, kategorije, gde su detalji te kategorije i prioriteti izvora za tu kategoriju. Pod prioritetima se podrazumevaju polja gde administrator moze da zada koji izvori imaju prioritet nad ostalim izvorima, i taj broj je neogranicen (isto kao i broj izvora).

Postoji deo sistema gde admin moze da izabere koje kategorije hoce da pregleda, i koliko zapisa u svakoj kategorije moze da ima (neka bude konacan broj) prilikom tog pregleda. Na pocetku zapisa, neke kategorije, prvo treba da se pojave zapisi koji imaju prioritet, pa tek onda ostali.

Trenutno resenje je takvo, da se izabrane kategorije stave u petlju, u kojoj se za svaku kategoriju izvuku prioriteti, pa se onda za svaki prioritet izvuce (posebnim kevrijem) odredjen zapis iz tablice sa artiklima. Sto znaci da ima ukupno broj_izabranih_kategorija + broj_izabranih_kategorija * broj_prioriteta kverija, a to je mnogo i prilicno se sporo izvrsava.

Moj zadatak je da nekako smanjim broj upita ...

Jel moze sada neka ideja :) Tnx

Btw, srecan rodjendan ;)

Dejan Topalovic 16. 04. 2008. 10:14

Moze ideja - dropni sve tabele i kreiraj ih kako treba. :D

Pokusavao sam da shvatim sta ti zapravo treba i nakon privh par poruka sam mislio da sam shvatio, ali sam se prevario - uspio si me jos vise zbuniti. :D

Ovako prema ovome sta si naveo, ne vrijedi ni pokusavati pisati neki upit, jer smatram da struktura tabela nije najbolje definisana...

Ako su podaci iz tabele 2 povezani sa nekim podatkom iz tabele 1, zasto ih nisi povezao preko neke lookup tabele ili barem dodatne kolone tabela1_id u smislu reference tabela2.tabela1_id = tabela1.id ...

Ivan 16. 04. 2008. 10:34

Uh ne mogu da dropujem, mogu samo da malo nabudzim :D

Citat:

Ako su podaci iz tabele 2 povezani sa nekim podatkom iz tabele 1, zasto ih nisi povezao preko neke lookup tabele ili barem dodatne kolone tabela1_id u smislu reference tabela2.tabela1_id = tabela1.id ...
Tabela sa artiklima ima u sebi polje koje oznacava iz koje je kategorije. Al ne znam koliko mi to znaci ovde ?

Tablica 1:

|id|cat|title|text|code_name|
-------------------------
1|1|title1|neki_text1|XDJENOEP|
2|1|title2|neki_text2|DJEN3NJD|
3|2|title3|neki_text3|PLKAZYW|
...

Tablica2:

|id|cat|code_pieces1|code_pieces2|
-------------------------
1|1|XDJ|JEN|
2|2|JE1|ZYW|
...

Jeste da je malo komplikovano, ne znam dal uopste ima resenje za ovo sto mi treba (ako uopste znam sta mi vise treba :)), svaka ideja je dobro dosla ...

jablan 16. 04. 2008. 10:37

Slažem se sa Dejanom (iako još uvek ne kontam potpuno).

Dakle, ovako mi trenutno izgleda tvoja situacija, sa propisno izmodeliranom bazom:

Kôd:

Artikli (id, izvor, idkategorije)
Kategorije (id, brojistaknutih)
Prioriteti (id, idkategorije, izvor)

BTW, hvala! ;)

Ivan 16. 04. 2008. 12:21

Hm ... probacu da prepravim sistem da radi sa takvom bazom. Kada zapnem sa upitom javljam se :)


Vreme je GMT +2. Trenutno vreme je 06:42.

Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.

Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.