[ KDane @ 20.12.2012. 08:11 ] @
Zdravo,

imam dvije tabele u mysql bazi, t1 i t2. Ove dvije tabele imaju istu kolonu koja se zove status. Želim sada da uradim select iz obje tabele gdje će uslov biti da je status=stari. Pokušao sam ovako ali ne ide:

$result = mysql_query("SELECT * FROM t1, t2 WHERE status='stari'");

Molim za pomoć.
[ dakipro @ 20.12.2012. 08:16 ] @
Kao sto (bi) ti je server vratio, column status is ambicious, iliti server ne zna koje tacno status zelis da koristis u WHERE, jer ih ima dva.
Zato stavis WHERE t1.status = 'stari' (ili where t2.status)
[ KDane @ 20.12.2012. 08:54 ] @
Pokusao sam i to ali ne dobijam sto hocu, hocu iz obje da mi vrati rezultat sa statusom stari.
[ plague @ 20.12.2012. 09:15 ] @
Code:

WHERE t1.status = 'stari' AND t2.status = 'stari'
[ KDane @ 20.12.2012. 10:13 ] @
Probao sam i to i jednostavno mi ne radi kako treba. Treba mi da prebroji sve redove iz obje tabele gdje je uslov da je status=stari. Probao sam ovako:

$result = mysql_query("SELECT t1.status, t2.status FROM t1, t2 WHERE t1.status='stari' AND t2.status='stari'");
$num_rows = mysql_num_rows($result);
echo $num_rows;

Kao rezultat mi izbacuje nulu, a ne bi trebalo jer imam 6 redova u tabeli t2 sa statusom stari.

Ne znam u cemu je problem.
[ djoka_l @ 20.12.2012. 10:42 ] @
Zaboga, Dane, nauči SQL!!!

Upit koji si ti napisao je PROIZVOD skupova t1 i t2 uz uslov da je atribut status jednak nekoj vrednosti.
Ako u skupu t1 postoji 0 (nula) elemenata, a u skupu t2 6 elemenata sa tom osobinom, u njihovom PROIZVODU će biti 0*6, tj. NULA elemenata.

Nauči i šta je to UNIJA skupova i kako se UNIJA piše u SQL-u.


[Ovu poruku je menjao djoka_l dana 20.12.2012. u 11:54 GMT+1]
[ KDane @ 20.12.2012. 11:53 ] @
Zaboga, hvala na divnom odgovoru.

LP,
[ Orome @ 02.01.2013. 10:24 ] @
vidim da je reseno ali zar ne bi dobio dobar rezultat ako napise OR u where uslov : SELECT t1.status, t2.status FROM t1, t2 WHERE t1.status='stari' OR t2.status='stari'

dobice sve redove iz obe tabele koje imaju status stari. koliko sam shvatio kontekst podataka u dve tabele nije isti stoga bi mogao dobiti tacan rezultat.
[ VladaSu @ 03.01.2013. 09:38 ] @
Ne bi dobio dobar rezultat jer on sa cistim SELECT t1.status, t2.status FROM t1, t2 bez where dobija prazan rezultat.
LEFT JOIN i UNION su dve jako razlicite stvari.