Précédent   Forum des professionnels en informatique > Bases de données > Langage SQL
Langage SQL Forum d'entraide sur le langage SQL et sur les questions liées à la conception de schéma (DDL). Cours SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/04/2011, 04h19   #1
Invité de passage
 
Inscription : février 2008
Messages : 1
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 1
Points : 0
Points : 0
Par défaut Problème pour utiliser trois tables en même temps

Hello,

je ne suis pas très connaisseur avec le SQL et je travaille dans les jeux vidéo. J'ai en ce moment un problème à faire une commande SQL en utilisant trois tables en même temps.

Le vieux code déja établi ressemble à ceci :
Code sql :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
exec_sql_start(error, NULL)
sql
(
	declare varcursor cursor FOR
	SELECT *
	FROM Table_DC
	INNER JOIN TBL_PG
	ON TBL_DC.COL_PLAYER_ID = TBL_PG.COL_PLAYER_ID
 
	WHERE TBL_DC.COL_TEAM_ID = varuint32
		…………
	ORDER BY TBL_PG.COL_PLAYER_OVERALL DESC
),
&playercursor
……….

Cependant, ce que je dois ajouter, c'est que TBL_DC.COL_PLY_ID ne soit pas inclus dans une troisième table TBL_IR.COL_PLY_ID.

Je n'arrive tout simplement pas à écrire la commande de la bonne façon, si j'ajoute un inner join du genre :
Code sql :
1
2
INNER JOIN TBL_IR
ON TBL_DC.col_ply_id = tbl_IR.col_ply_id

ça me donne tous les id inclus dans les trois tables.
J'ai essayé de faire <> (un ami m'avait dit d'essayer) mais ça ne fonctionne pas, ensuite j'ai essayé de tout simplement utiliser un where... mais ça ne fonctionne pas non plus, donc j'aimerais savoir comment faire.

Merci par avance pour vos solutions.
drdoom21 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/04/2011, 07h54   #2
Membre Expert
 
Avatar de zoom61
 
Homme Vincent ...
Passionné d'informatique
Inscription : janvier 2005
Messages : 1 217
Détails du profil
Informations personnelles :
Nom : Homme Vincent ...
Âge : 39
Localisation : France, Haute Vienne (Limousin)

Informations professionnelles :
Activité : Passionné d'informatique
Secteur : Industrie

Informations forums :
Inscription : janvier 2005
Messages : 1 217
Points : 1 506
Points : 1 506
Envoyer un message via Yahoo à zoom61 Envoyer un message via Skype™ à zoom61
Salut,

Ton code devrait ressembler à quelque chose comme cela :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
exec_sql_start(error, NULL)
sql
(
declare varcursor cursor FOR
SELECT *
FROM Table_DC
INNER JOIN TBL_PG
ON TBL_DC.COL_PLAYER_ID = TBL_PG.COL_PLAYER_ID
LEFT JOIN tbl_IR
ON TBL_DC.col_ply_id = tbl_IR.col_ply_id 
 
WHERE TBL_DC.COL_TEAM_ID = varuint32
AND tbl_IR.col_ply_id IS NULL
…………
ORDER BY TBL_PG.COL_PLAYER_OVERALL DESC
),
&playercursor
__________________
N'oubliez pas le Tag :

C'est en parvenant à nos fins par l'effort, en étant prêt à faire le sacrifice de profits immédiats en faveur du bien-être d'autrui à long terme, que nous parviendrons au bonheur caractérisé par la paix et le contentement authentique. [Dalaï Lama]
Je ne réponds pas aux messages privés s'ils sont liés à une question du forum

Mon site sur Developpez.com
zoom61 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 12/04/2011, 09h32   #3
Candidat au titre de Membre du Club
 
Inscription : avril 2010
Messages : 26
Détails du profil
Informations forums :
Inscription : avril 2010
Messages : 26
Points : 10
Points : 10
Bonjour,

Je serai plus parti sur une sous requête dans le WHERE

Code :
AND TBL_DC.COL_PLY_ID NOT IN (SELECT TBL_IR.COL_PLY_ID FROM Table_IR TBL_IR)
scfi1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h39.


 
 
 
 
Partenaires

Hébergement Web