» »

SELECT iz dveh tabel (MySQL)

SELECT iz dveh tabel (MySQL)

Borci ::

tabela1
ST1 ST2
1 ena
2 dva
3 tri

tabela2
S1 S2 S3
2 a1 b1
3 a2 b2
2 a3 b3

Imam 2 tabeli: tabela1 in tabela2. Tabela1 ima stolpca ST1 in ST2, Tabela2 pa ima stolpce S1, S2 in S3.

Problem pa je naslednji:
Izpiši stolpca S2 in S3, kjer je S1=ST1 pri pogoju, da je ST2=dva.

Sam poskušal takole, vendar je sintaksa napačna:
SELECT S2,S3 FROM tabela2 WHERE S1 = (SELECT ST1 FROM tabela1 WHERE ST2='dva');

Hvala za pomoč.

alesrosina ::

inner join

poglej ta link ...

rc-car ::

SELECT t2.S2, t2.S3 FROM tabela1 t1, tabela2 t2 WHERE t1.ST1 = t2.S1 AND t1.ST2 = 'dva';

Lahko je kje kaka napaka, ker pišem na pamet...
[addon: in bila.. možno, da je še kaka ;)]
Nothings gonna stop me now, I'm breaking the rules, I'm gonna do it if its not allowed

Zgodovina sprememb…

  • spremenil: rc-car ()

Borci ::

Hvala, to celo dela, čeprav na prvi pogled izgleda zakomplicirano.

Kaj pa na tak način ne gre, kot sem že jaz začel. Takšna rešitev bi bila precej bolj pregledna.

Nekomu pomagam pri domači nalogi in mora biti "vgnezdena struktura".

Zgodovina sprememb…

  • spremenil: Borci ()

rc-car ::

Žal, taka je sintaksa :) Sicer pa je (IMHO) tak način kot je boljši, kot tisti, ki si se ga ti zmislil ;)

Drugače se takemu združevanju reče join. Lahko si pogledaš še kak left join, right join, ... Preberi si v manualu.
Nothings gonna stop me now, I'm breaking the rules, I'm gonna do it if its not allowed

zdravc ::

Poskusi tako, da enačaj zamenjaš z in

S1 = (SELECT ----> S1 in (SELECT

V Oracle-u to deluje
kdor zna pa žih

Borci ::

Saj ravno zato namigujem na tako obliko, ker sem to zasledil v Oraclu, pa sem mislil da je tu mogoče kak drug ukaz, pa izgleda da ni.
IN pa na tak način ne dela v MySQL.

krho ::

Borci: SELECT S2,S3 FROM zamenjaj z
SELECT * FROM, pa ti bo prav tako izbral vse zapise iz obeh tabel.
si.Mail odprto-kodni odjemalec elektronske pošte. - http://www.simail.si
Uredite si svojo zbirko filmov, serij in iger - http://xcollect.sf.net

Borci ::

Ampak jaz nočem izpisati vseh zapisov, le drugi in tretji stolpec v drugi tabeli. Pa še to je bil le primer, da sem lažje postavil vprašanje. Originalna tabela vsebuje še več stolpecv, ki pa jih nočem izpisovati.
Večji problem mi dela vgnezdena struktura.

krho ::

Večji problem mi dela vgnezdena struktura.
mysql zaenkrat se ne podpira vgnezdenih sql stavkov.

izbiro posameznih polj bos moral pa kar naroke napisat TABLENAME1.field1,TABLENAME1.field2,TABLENAME1.field3,TABLENAME2.field1,TABLENAME2.field2,....

si.Mail odprto-kodni odjemalec elektronske pošte. - http://www.simail.si
Uredite si svojo zbirko filmov, serij in iger - http://xcollect.sf.net

Borci ::

Najlepša hvala za konkreten odgovor, zdaj vsaj vem, kako je na stvari.

Borci ::

Še vedno imam težave z SQL-om. MySQL sem hotel uporabiti pri prijateljevi domači nalogi, kot preskus, a le zato, ker Oracle SQL-a nisem mogel dobiti.
Zdaj pa imam inštaliran Oracle9i Database for WIN98 in nastali problem je v tem, da ne vem, kako priti v SQL+. Namreč zahteva geslo, ki ga pa nikjer prej ne nastaviš.
Pri inštalaciji sem izbral možnost tipične inštalacije.

A mi zna kdo pomagati pri nastavitvah, ker brez opravljene vaje ne bo izpita.

Hvala za pomoč.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

združevanje in poizvedbe

Oddelek: Programiranje
7880 (740) prozac
»

MySQL izpis vsebine iz dveh tabel

Oddelek: Programiranje
91183 (1071) iMark
»

[SQL] Unikatni izpisi

Oddelek: Programiranje
212210 (1597) 111111111111
»

MS Access (strani: 1 2 )

Oddelek: Programiranje
647363 (5421) travica
»

MYSQL vprašanje

Oddelek: Programiranje
131786 (1401) MrBrdo

Več podobnih tem