Sari la conținut
Forum Roportal
Oxido

interogarea a doua tabele SQL

Postări Recomandate

Salut.

Sper sa gasesc inteleger si ajutor aici. imi cer scuze daca nu ma exprim corect,sper sa intelegeti ce vreau sa spun.

 

Am facut un site cu joomla( este al unui clan de UT3), am o componenta care ma ajuta ca pe utilizatorii inregistrati sa ii pot face membrii clanului, eu vreau ca in site sa fie un modul care sa afiseze membrii clanului. Componenta nu ofera acest serviciu, ma gandeam sa folosesc SQL intr-un modul care imi permite folosirea limbajului SQL si interogarea bazei de date.

ce doresc eu?

Am 2 tabele: jos_users -(care are campurile): id, name, username, email, etc. restul nu conteaza

si tabelul : team_player- (cu campurile): teamid, playerid.

 

Eu am folosit

SELECT COUNT(*) AS `count_player` FROM `team_player`

, dar acesta doar imi afiseaza nr de jucatori din acea echipa.

 

Eu vreau sa pot afisa username-ul utilizatorilor care fac parte din echipa(din clan)

Cheia comuna ambelor tabele: din tabelul jos_users " id ", din tabelul team_player " playerid ".

Teoretic stiu cum s-ar putea face, doar ca nu stiu SQL.

Ar trebuii sa se faca cam asa. daca unu din id-uri se afla in ambele tabele(in campurile id si playerid), atunci username-ul atribuit acelui id sa fie afisat.

Ma puteti ajuta?

Partajează acest post


Link spre post
Distribuie pe alte site-uri

SELECT b.teamid, a.name, a.username, a.email

FROM jos_users a INNER JOIN team_player b ON a.id = b.playerid

ORDER BY b.teamid, a.name, a.username, a.email

 

:)

Partajează acest post


Link spre post
Distribuie pe alte site-uri

SELECT a.name, a.username, a.email

FROM jos_users a INNER JOIN team_player b ON a.id = b.playerid

WHERE b.teamid IN (SELECT teamid FROM team_player WHERE playerid=@id_user)

ORDER BY a.name, a.username, a.email

 

Fara clauza WHERE primeai lista tuturor ultilizatorilor, selectia de mai sus iti da doar userii care sunt in acelasi team cu userul curent (@id_user).

Partajează acest post


Link spre post
Distribuie pe alte site-uri

Un prieten mi-a zis ca ar fi mai multe tipuri de SQL.

Eu folosesc joomla acolo este folosit mySQL, este de folos? :D

 

Nu stiu cat de mult conteaza dar ce imi trebe mie este SQL Query.

Si poate v-a, indus in eroare si cu toate campurile "id, name, username, email", nu implicati in toata treaba asta name si email ci doar ID si username din tabelul jos_users si teamid, playerid din tabelul team_player

 

Paul Brahtl, Al Micu' eu va multumesc oricum pentru efort si buna vointa.

 

Daca ce ati facut voi aici este bine dar eu nu am reusit sa aplic incercati sa imi eplicati mai exact ce trebuie sa fac, am atasat o imagine cu ceea ce am facut eu, poate ma fac inteles mai bine si poate va ajut si pe voi sa imi explicati in asa fel in cat sa inteleg eu.

Multumesc si toate cele bune, eu astept raspunsuri din partea voastra in continuare.

post-232282-0-59004400-1322695121_thumb.jpg

Editat de Oxido

Partajează acest post


Link spre post
Distribuie pe alte site-uri

Multumesc, multumesc, multumesc :flowers:

 

Dupa cateva incercari am incerc si am reusit spre surprinderea mea, am reusit ce imi doream.am modificat putin codul si a functionat exact cum imi trebuia mie in acel modul din joomla.

Codul functional arata asa:

SELECT a.username AS membrii_clan FROM jos_users a INNER JOIN team_player b ON a.id = b.playerid

si am folosit un tag {membrii_clan} care imi afiseaza membrii din clan, mai trebuie doar sa fac sa imi arate separat membrii din alt clan. Componenta pe care o folosesc poate face mai multe echipe, de CS, de Unreal tornament 3 etc.

Momentan eu am sa ma orpesc la ce am obtinut pana in momentul de fata, la afisarea membrilor clanui meu.

Am sa fac un modul pt aceasta componenta si acolo o sa separ membrii echipelor.

 

Va multumesc pentru ajutor.

Acum stiu ca pot venii cu incredere sa cer ajutor aici :D.

 

Numai bine domnilor. :yahoo:

Partajează acest post


Link spre post
Distribuie pe alte site-uri

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum

×