querie problematique

querie problematique - SQL/NoSQL - Programmation

Marsh Posté le 10-10-2005 à 05:02:01    

:hello: ,
mysql -V
mysql  Ver 12.22 Distrib 4.0.23, for pc-linux-gnu (i386)
 
Bizarrement les requetesimbrique selec * from s where s in (select ect) ne marche pas :/
(j'avais appris ca sur oracle)
 
Enfin jai utilise inner join sauf que la je coince.
 
jai un tableau  
player (p_ID, p_name)
kill (kill_ID, killer_ID, killed_ID);
 
jai merai afficher les nom tueur / tue
genre
 
paul  root
luc    vador
 
ect

Code :
  1. select p_name as tueur, p_name as tue from player INNER JOIN kill ON kill.killer_ID = player.p_ID AND ect tue


Mais ca ne marche pas vu que je ne sais pas comment que le premiere select correspong au tueur et el second au tue. :/

Reply

Marsh Posté le 10-10-2005 à 05:02:01   

Reply

Marsh Posté le 10-10-2005 à 09:55:01    

Il faut joindre 2 fois la table player car tu veux récupérer les infos de 2 joueurs pour chaque ligne renvoyée :)
 
Et utiliser des alias sur les tables afin de différencier les 2 noms :
 

Code :
  1. SELECT tueur.p_name AS nom_tueur, tue.p_name AS nom_tue
  2. FROM player tueur, player tue, kill
  3. WHERE kill.killer_ID = tueur.p_ID
  4. AND kill.killed_ID = tue.p_ID;

Reply

Marsh Posté le 10-10-2005 à 09:58:43    

xiluoc a écrit :

:hello: ,
mysql -V
mysql  Ver 12.22 Distrib 4.0.23, for pc-linux-gnu (i386)
 
Bizarrement les requetesimbrique selec * from s where s in (select ect) ne marche pas :/


Pas bizarrement, c'est le cas jusqu'à la version 4.11 de mysql si je ne me trompe pas.:o


---------------
Can't buy what I want because it's free -
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed