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...
SQL - Création de table VoirLe SQL, comportant un langage de définition de données (LDD), permet de créer des tables. Pour cela, il utilise le couple de mots clés CREATE TABLE. La création de tables Le création de tables se fait à l'aide du couple de mots-clés CREATE...
SQL - Jointures VoirExpression des jointures Une jointure (ou θ-jointure) est un produit cartésien de deux tables. On appelle équijointure une θ-jointure dont la qualification est une égalité entre deux colonnes. En SQL, l'expression d'une jointure se...

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
Collection CommentÇaMarche.net