 |
Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Comunitatea PHP Romania
|
| Subiectul anterior :: Subiectul următor |
| Autor |
Mesaj |
PET
Data înscrierii: 20/Aug/2003
Mesaje: 308
Locație: Timisoara
|
| Trimis: Mie Mai 07, 2008 10:15 pm Titlul subiectului: SELECT + Join |
|
|
Salut,
Am mai multe tabele de genu:
RACE : id - nume - faction
FACTION : id - nume
TALENTS : id - nume - class
CLASS : id - nume
CARDS : id - nume - faction - race - talents, etc
Ideea e ca tabelul talents contine 1 id, numele talentului si apoi ID-ul clasei.
Eu vreau sa fac un query in care selectez mai multe tabele, dar inlococuiesc id-ul cu numele.
Adica eu o sa fac o lista cu ce e in aceste tabele care o sa arate asa:
ID - NUME - CLASS - TALENT
1 - ceva nume - 2 - 14
In loc de 2 la class, vreau sa scrie numele care vine in randul acelui id.
Stiu ca se face cu LEFT JOIN sau ceva de genu dar nu mai stiu exact.
Eu fac un QUERY in tabelul "CARDS". Obtin tot ce e acolo, adica si ID-urile unor talents, class, factions, etc. Vreau sa inlocuiesc ID-ul unui talent sa zicem cu numele care coincide cu acel id.
Pfiu... ce greu a fost :roll: |
|
| Sus |
|
Pirahna
Data înscrierii: 22/Aug/2004
Mesaje: 4261
Locație: acasa , in pat
|
| Trimis: Joi Mai 08, 2008 1:28 am Titlul subiectului: |
|
|
| Pai se poate si fara join ... :P |
|
| Sus |
|
PET
Data înscrierii: 20/Aug/2003
Mesaje: 308
Locație: Timisoara
|
| Trimis: Joi Mai 08, 2008 2:24 am Titlul subiectului: |
|
|
era ceva acolo dar nu mai stiu eu cum. stiu ca ziceam class.name=card.id
am drepatate? |
|
| Sus |
|
PET
Data înscrierii: 20/Aug/2003
Mesaje: 308
Locație: Timisoara
|
| Trimis: Sâm Mai 10, 2008 6:01 am Titlul subiectului: |
|
|
| sugestii ? :oops: |
|
| Sus |
|
whooper
Data înscrierii: 05/Apr/2005
Mesaje: 711
Locație: Toronto ON
|
| Trimis: Dum Mai 11, 2008 6:59 pm Titlul subiectului: |
|
|
Uite mai jos sa-ti arate toate numele :)
SELECT RACE.nume, FACTION.nume, TALENTS.nume, CLASS.nume
FROM (CARDS INNER JOIN (RACE INNER JOIN FACTION ON RACE.faction = FACTION.id) ON CARDS.race = RACE.id) INNER JOIN (TALENTS INNER JOIN CLASS ON TALENTS.class = CLASS.id) ON CARDS.talents = TALENTS.id; |
|
| Sus |
|
PET
Data înscrierii: 20/Aug/2003
Mesaje: 308
Locație: Timisoara
|
| Trimis: Mie Mai 14, 2008 7:13 am Titlul subiectului: |
|
|
Mersi de sugestie. Am tot cautat, acum ca am stiut ce sa caut, am gasit pe site-ul lui birkoff si am gasit mai multe modele, dintre care unul chiar foarte logic si frumos. Varianta finala arata asa:
Cod: SELECT * FROM cards, type WHERE type.id=cards.type
Am selectat tot, am stiut sa-i zic de unde, si apoi ce este =. Merge brici.
Varianta cu INNER JOIN, apoi paranteza, apoi ON, m-am cam pierdut.
Unu la mana eu vreau sa selectez * din tabelul cards, si apoi nu stiam cum sa selectez * din cards si talents.name din tabelul talents. |
|
| Sus |
|
PHPRomania Bot
Bot Member
Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google |
| Trimis: Mie Dec 26, 2007 7:01 pm Titlul subiectului: Ad |
|
|
|
|
|
| Sus |
|
| |
|