SQL baze podataka - Sponzor: Baze-Podataka.net MySQL, MSSQL, Oracle, Access, ODBC. Ako imate problem brže i preciznije ćete dobiti odgovor ako priložite strukturu tabela ili skript koji kreira tabele i puni ih test podacima umesto što to problem opisujete samo rečima. Sponzor: Baze-Podataka.net - Blog o bazama podataka |
|
Alati teme | Način prikaza |
14. 04. 2008. | #1 |
Psychedelictrance freak
Wrote a book
|
LIKE, vise zapisa
Prvo da napomenem da nisam znao kako jasnije da napisem naslov, pa ako neko ima ideju neka zameni, hvala ...
Imam sledeci problem: Postoji tablica sa X zapisa, struktura otprilike izgleda ovako: |id|title|text|code_name| ------------------------- 1|title1|neki_text1|XDJENOEP| 2|title2|neki_text2|DJE13NJD| 3|title3|neki_text3|PLKAZYW| I sad, imam drugu tablicu gde se cuvaju delovi polja code_name, npr: E13, ZYW. Te, da kazemo delove polja code_name, vadim jednim kverijem. Nakon toga mi je potrebno da iz prve tablice izvucem odredjen broj zapisa (neka bude 1) ali tako da code_name bude "LIKE" onaj deo koji sam izvukao iz druge tablice. Za sada izgleda jednostavno, za svaki deo code_name koji sam izvukao napisem kveri tipa: "SELECT * FROM table1 WHERE code_name LIKE '%E13%' LIMIT 1". Ovo pustim u petlju za svaki zapis i to je to. Ali problem je cu imati mnogo zapisa i to ce da oduzme previse vremena, zanima me da li postoji nekin nacin da se stavi vise LIKE uslova i da se za svaki izvuce po jedan zapis ... ? Nadam se da ste razumeli ? I da neko ima ideju kako ovo da resim ... ? Hvala, Ivan
__________________
Testiranje bezbednosti web aplikacija |
14. 04. 2008. | #2 |
Dusko Petrovic
Professional
|
mozesh ti da stavish vishe uslova u upit
SELECT * FROM table1 WHERE code_name LIKE '%E13%' OR code_name LIKE '%ZYW%' OR code_name LIKE..
__________________
I know it all, I just can't remember it all at once Blog / Pisanije / Best Engagement Rings / Blues DVDs Poslednja izmena od kalkulus : 14. 04. 2008. u 22:10. |
14. 04. 2008. | #3 |
Psychedelictrance freak
Wrote a book
|
Da, ali to ne znaci da cu da dobijem sigurno jedan zapis koji sadrzi "E13" i jedan zapis koji sadrzi "ZYW". Vec mogu da dobijem dva sa istim delom code_name, zavisno vec od redosleda zapisa u bazi i ostalih uslova.
Nadam se da je sada jasnije sta mi je potrebno ...
__________________
Testiranje bezbednosti web aplikacija |
14. 04. 2008. | #4 |
Milan Cvejic
Wrote a book
|
distinct?
__________________
http://weevify.com |
14. 04. 2008. | #5 |
old school
Professional
|
Hm, nisam siguran da sam ispravno shvatio sta zelis, ali mozda ti ovo moze pomoci?
Kôd:
select cn.* from code_names as cn, code_pieces as cp where instr(cn.code_name, cp.code_piece) > 0 and cp.code_piece = 'E13';
__________________
Blog: Baze podataka ------------------------ Oracle OCP DBA Oracle OCE SQL Expert Oracle OCP Developer Certified MySQL DBA |
15. 04. 2008. | #7 |
Psychedelictrance freak
Wrote a book
|
Hm nijedno resenje mi ne pomaze, ajd da probam da objasnim ponovo:
Tablica 1: |id|title|text|code_name| ------------------------- 1|title1|neki_text1|XDJENOEP| 2|title2|neki_text2|DJEN3NJD| 3|title3|neki_text3|PLKAZYW| Tablica2: |id|code_pieces1|code_pieces2| ------------------------- 1|XDJ|JEN| 2|JE1|ZYW| Ono sto prvo uradim je da selektujem iz tablice 2 ove delove koda i pustim to u petlju. Dakle za prvi krug imacemo "XDJ" i "JEN". Sada mi treba kveri koji ce da izvuce, iz tablice 1, jedan zapis koji u polju code_name ima deo LIKE "XDJ" i jedan zapis koji ima deo LIKE "JEN". Ovo moze lako da se izvede sa dva kverija ali je pitanje kako sa jednim ... Dakle nesto ovako: "SELECT * FROM tablica1 WHERE code_name LIKE 'XDJ' OR code_name LIKE 'JEN' LIMIT 2" I da ovaj kveri vrati: |id|title|text|code_name| ------------------------- 1|title1|neki_text1|XDJENOEP| 2|title2|neki_text2|DJEN3NJD| Ovo ce u nekim slucajevima i da vrati ovakav rezultat ali nece uvek, tj nece kada bude bilo vise "slicnih" zapisa. Tada ce da vrati npr dva zapisa LIKE 'XDJ', a distinct ne mogu da radim jer je polje "slicno" a ne isto ... Jasnije sada ? Hvala ...
__________________
Testiranje bezbednosti web aplikacija |
15. 04. 2008. | #8 |
133t
Master
|
edit, sad mislim da razumem, neces da ti dva puta vrati isti row? Poslednja izmena od kodi : 16. 04. 2008. u 00:10. |
15. 04. 2008. | #9 |
majstor
Wrote a book
|
A nesto kao
Kôd:
SELECT t1.code_pieces1, t1.code_pieces2, t2.code_name FROM tablica2 as t1 JOIN tablica1 as t2 ON t2.code_name LIKE t1.code_pieces1 OR t2.code_name LIKE t1.code_pieces2 Poslednja izmena od misk0 : 16. 04. 2008. u 00:02. |
16. 04. 2008. | #10 |
VD IT Direktora
Invented the damn thing
Datum učlanjenja: 08.06.2005
Lokacija: Beograd
Poruke: 2.118
Hvala: 503
1.307 "Hvala" u 282 poruka
|
U prvoj poruci nisi pomenuo da imaš dve kolone sa delovima koda. Je l' to konačno dve kolone ili n kolona? Zašto ti to nije normalizovano? Koji problem ustvari rešavaš?
__________________
blog |
|
|
Slične teme | ||||
Tema | Početna poruka teme | Forum | Odgovori | Poslednja poruka |
SEO na vise domena? | Pedja | Marketing i SEO | 32 | 30. 12. 2012. 03:23 |
Stvaranje matričnog zapisa iz hrpe input podataka | blackshtef | Sva početnička pitanja | 2 | 27. 05. 2010. 09:19 |
cookies za vise domena | bluesman | PHP | 9 | 07. 04. 2008. 22:24 |
Sta vise vredi? | oksite | e-Business | 20 | 09. 05. 2007. 01:07 |
Ispljujte me... da vise ne gledam ovo | boccio | Web site, dizajn i multimedia | 8 | 03. 11. 2005. 10:55 |