Rechercher : dans
Par :

[SQL/Php]Requêtes tordues

Dernière réponse le 1 jui 2003 à 12:49:23 Taboujr, le 1 jui 2003 à 10:43:58 
 Signaler ce message aux modérateurs

Bonjour à tous !

J'ai un petit souci avec mes requêtes sur ma bdd qui ressemble à ça : http://anfr.free.fr/bdd.gif

Ce que je veux faire :
Je veux récupérer pour chaque enregistrement de la table release les champ titre, id_team et id_serie ainsi que le nom de la team correspondant à id_team et le titre de la serie correspondant à id_serie.

Ce que je fais pour l'instant :
Pour l'instant, je fais trois requêtes, 2 pour récupérer les nom des teams et des series, et la dernière pour récupérer mes releases. Ca donne ça :


// Récupération des noms des teams
$req0a="SELECT id, nom FROM team";
$res0a=mysql_query($req0a);
while ($row=mysql_fetch_array($res0a, MYSQL_ASSOC)) {
$team[$row['id']]=$row['nom'];
}
// Récupérations des titres des séries
$req0b="SELECT id, titre FROM serie";
$res0b=mysql_query($req0b);
while ($row=mysql_fetch_array($res0b, MYSQL_ASSOC)) {
$serie[$row['id']]=$row['titre'];
}
// Requête principale
$req1a="SELECT id_team, id_serie, titre FROM release";
$res1a=mysql_query($req1a);

Et dans le traitement de ma requête principale, j'utilise les tableaux $team et $serie pour récupérer les infos nominales en fonction de leur identifiant.
Ca marche, mais ça m'embête de faire 3 requêtes.

Ce que je voudrais faire :
Ben la même chose mais en une seule requête.
Je pensais me servir des expressions de jointure mais, même s'il me semble avoir compris les exemples donnés sur CCM, je n'arrive désesperemment pas à mettre cette solution en oeuvre.

Voilà. Si quelqu'un pouvait me donner une petit coup de pouce, ça serait sympa.

Merci par avance.

.:: TaBou JuNioR ::.
J'ai des questions à toutes vos réponses. [W. Allen]

Meilleures réponses pour « [SQL/Php]Requêtes tordues » dans :
SQL - Sous-requêtes Voir Expression des sous-requêtes Effectuer une sous-requête consiste à effectuer une requête à l'intérieur d'une autre, ou en d'autres termes d'utiliser une requête afin d'en réaliser une autre (on entend parfois le terme de requêtes en...
PHP - Bases de données VoirPhp permet un interfaçage très simple avec un grand nombre de bases de données. Lorsqu'une base de données n'est pas directement supportée par Php, il est possible d'utiliser un driver ODBC, pilote standard pour communiquer avec les bases de...
Le langage SQL VoirQu'appelle-t-on SQL? SQL (Structured Query Language, traduisez Langage de requêtes structuré) est un langage de définition de données (LDD, ou en anglais DDL Data Definition Language), un langage de manipulation de données (LMD, ou en anglais DML,...
PHP - Structures conditionnelles VoirQu'est-ce qu'une structure conditionnelle? On appelle structure conditionnelle les instructions qui permettent de tester si une condition est vraie ou non, c'est-à-dire si la valeur de son expression vaut 0 ou 1 (le PHP associe le mot clé true à 1...

1

batmat, le 1 jui 2003 à 10:47:49

C'est pas possible avec mysql : pas de jointure ni de requete imbriquée...

@++

Vous hésitez entre Linux et Windows ?
Vous voulez dépenser du temps ou de l'argent ? :-D

Répondre à batmat

2

Taboujr, le 1 jui 2003 à 10:48:31

Ok. Dommage pour moi...

Merci :)

.:: TaBou JuNioR ::.
J'ai des questions à toutes vos réponses. [W. Allen]

Répondre à Taboujr

3

batmat, le 1 jui 2003 à 11:13:11

De rien.
En cherchant dans les archives, tu tomberas sur un joli post de PhP expliquant que MySQL est un SGBD et pas un SGBDR... :)

@++

Vous hésitez entre Linux et Windows ?
Vous voulez dépenser du temps ou de l'argent ? :-D

Répondre à batmat

4

Taboujr, le 1 jui 2003 à 11:28:29

A tes souhaits ;)

Je vais chercher de ce pas pour essayer de comprendre ce que tu viens de me dire...

.:: TaBou JuNioR ::.
J'ai des questions à toutes vos réponses. [W. Allen]

Répondre à Taboujr

5

Taboujr, le 1 jui 2003 à 11:37:23

Bon je me suis un 'tit peu renseigné...

Si j'ai bien compris, SGDB, ça veut dire que ça permet pas de gérer les liaisons. C'est ça ?

.:: TaBou JuNioR ::.
J'ai des questions à toutes vos réponses. [W. Allen]

Répondre à Taboujr

6

batmat, le 1 jui 2003 à 11:55:29

Oui c'est ça : tu dois faire les liaisons toi-même en sauvegardant dans des variables temporaires et en itérant toi-même dedans pour garder ce qui t'intéresse ...
C'est pas très grave qd on a du php qui tourne pour sauvegarder ces var. tmp... Mais c plus embetant qd tu ne veux faire que du sql pur et que tu as une requête imbriquée :) (cf. mon thread récent :) )

@++

Vous hésitez entre Linux et Windows ?
Vous voulez dépenser du temps ou de l'argent ? :-D

Répondre à batmat

7

 Taboujr, le 1 jui 2003 à 12:49:23

Ok. Merci pour toutes ces infos.

Je pense que je vais me coucher un peu moins bête ce soir :)).

.:: TaBou JuNioR ::.
J'ai des questions à toutes vos réponses. [W. Allen]

Répondre à Taboujr