[ Tyler Durden @ 22.03.2008. 20:03 ] @
Treba da uradim select iz dvije table koje nisu u relaciji nikakvoj ali imaju popriličan broj istih podataka. I sada kad uradim
Code:
SELECT * FROM t1,t2 WHERE (t1.polje1 like '%trtmrt%' OR t2.polje1 LIKE '%trtmrt%');

dobijem gomilu podataka koji nemaju veze sa životom :-)
Ne znam kako da povežem te dvije tabele?
[ lowlife @ 22.03.2008. 20:32 ] @
Pozdrav!

Ne bi bilo loše da daš još neki hint za prirodu tabela, ali se čini da bi ti AND umesto OR radio. Dakle nikako nije "zdravo" raditi "JOIN" po tabelama koje nisu u DBMS- uvezane, ali dobro. U principu mislim da bi ti ovaj AND umesto OR
rešio problem, ali ne bi bilo loše da daš nešto više detalja... Biće i bolje rešenje...
[ BluesRocker @ 22.03.2008. 20:45 ] @
Tebi treba unija, ali u tom slucaju moras da selektujes iste podatke iz obe tabele.
[ Tyler Durden @ 22.03.2008. 21:21 ] @
Znam da ovo nije baš najsrećnija situacija, ali ne mogu da biram - tako sam zatekao.
Hm, u pravu si AND daje bolji rezultat ali ipak ne u potpunosti ono što mi treba.

tabela1
+------------+------------+---------------+
| datum1 | datum2 | neki_proizvod |
+------------+------------+---------------+
| 1998-09-21 | 2000-01-01 | proizvod1 |
| 2001-01-15 | 2002-01-15 | proizvod2 |
| 2001-02-15 | 2002-02-15 | proizvod3 |
| 2002-04-02 | 2003-04-02 | proizvod2 |
| 2003-05-19 | 2005-04-19 | proizvod2 |
+------------+------------+---------------+

tabela2
+------------+------------+---------------+
| datum1 | datum2 | neki_proizvod |
+------------+------------+---------------+
| 2000-11-21 | 2001-01-01 | proizvod1 |
| 2001-04-15 | 2003-02-15 | proizvod2 |
| 2001-08-15 | 2002-05-15 | proizvod3 |
| 2002-02-02 | 2003-07-02 | proizvod2 |
| 2003-04-19 | 2005-09-19 | proizvod2 |
+------------+------------+---------------+

proizvod1 iz prve tabele i proizvod1 iz druge tabele imaju vrlo sličan naziv i treba oba da izlistam ako naravno zadovoljavaju onaj LIKE gore spomenut.
Ako mi je upit SELECT * FROM t1,t2 WHERE (t1.polje1 like '%proizvod2%' AND t2.polje1 LIKE '%proizvod2%');
treba da mi vrati sve ovo gore boldovano.
Ali ovaj navedeni SELECT sa AND-om mi vrati duplo svaki unos iz prve tabele i nijedan iz druge?
[ Tyler Durden @ 22.03.2008. 21:23 ] @
Citat:
BluesRocker: Tebi treba unija, ali u tom slucaju moras da selektujes iste podatke iz obe tabele.


Sa UNION mi ne radi jer tabele nemaju isti broj kolona.
?
[ chachka @ 22.03.2008. 22:41 ] @
Code:
SELECT datum1, datum2, neki_proizvod
  FROM t1
 WHERE polje1 LIKE '%proizvod2%'
 UNION ALL
SELECT datum1, datum2, neki_proizvod
  FROM t2
 WHERE polje1 LIKE '%proizvod2%'
[ Au197/79 @ 22.03.2008. 22:51 ] @
Nemoj koristiti * u selekciji već nabroj kolone koje ti trebaju. Pazi na redosled i broj. Možda moraš i nazive kolona da uskladiš...

[Ovu poruku je menjao Au197/79 dana 23.03.2008. u 15:57 GMT+1]