Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1844 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  champs identique, résultat mixe

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

champs identique, résultat mixe

n°1346445
Dorian BAC​+4
Posté le 13-04-2006 à 20:31:45  profilanswer
 

Bonsoir,
 
J'ai un ptit soucis que voici donc:
 
J'ai une table SDL_Objectif, SDL_ObjText et SDL_ObjImg
 
Je récupère un IdObject dans SDL_Objectif et je recherche les lignes ayant le meme IdObject dans SDL_ObjText et SDL_ObjImg
SDL_ObjText et SDL_ObjImg ayant des champs identiques et qui sont les seuls à m'intéresser, je voudrais aditionner ces 2 tables...
 
 
 
SDL_Objectif
 
IdObject   Date
    ...         ...
     7        2001
     8        2006
    ...         ...
 
SDL_ObjText
 
IdObjText   IdObject    IdObjEns    Position  Texte     Type
     ...             ...            ...            ...        ...         ...
      9              7              1             1      "blabla"      1
     ...             ...            ...            ...        ...         ...
 
 
SDL_ObjImg
 
IdObjImg     IdObject    IdObjEns    Position   Src       Largeur     Hauteur    Type
     ...             ...            ...            ...        ...           ...            ...          ...
     17              7             1             2       "f.jpg"       290           128         2
     ...             ...            ...            ...        ...           ...            ...          ...
 
 
Je voudrais pouvoir récupérer :
 
Table
 
  Id      IdObject    IdObjEns    Position    Type
  ...         ...             ...            ...          ...  
   3          7              1              1           1
   4          7              1              2           2
  ...         ...             ...            ...          ...  
 
 
Voila loool
 
merci davance

mood
Publicité
Posté le 13-04-2006 à 20:31:45  profilanswer
 

n°1346513
olivthill
Posté le 13-04-2006 à 22:51:52  profilanswer
 

Il me semble que l'on peut s'en sortir avec des requêtes ordinaires, mais peut-être qu'il y a une difficulté cachée que je n'ai pas vue.
 

SELECT ST.IdObject, ST.IdObjEns, ST.Position, ST.Type
   FROM SDL_ObjText AS ST, SDL_Objectif AS SO
 WHERE ST.IdObject = SO.IdObject;


SELECT SI.IdObject, SI.IdObjEns, SI.Position, SI.Type
   FROM SDL_ObjImg AS SI, SDL_Objectif AS SO
 WHERE SI.IdObject = SO.IdObject;


 
Si l'on ne veut que les enregirstrement ayant des IdObjets commun aux trois tables, il suffit de rajouter une condition à chaque requête :

SELECT ST.IdObject, ST.IdObjEns, ST.Position, ST.Type
   FROM SDL_ObjText AS ST, SDL_Objectif AS SO, SDL_ObjImg AS SI
 WHERE ST.IdObject = SO.IdObject
    AND ST.IdObject = SI.IdObject;


SELECT SI.IdObject, SI.IdObjEns, SI.Position, SI.Type
   FROM SDL_ObjImg AS SI, SDL_Objectif AS SO, SDL_ObjText AS ST
 WHERE SI.IdObject = SO.IdObject;
    AND SI.IdObject = ST.IdObject;


 
Si l'on veut combiner les deux requêtes, on peut utiliser UNION :
 

SELECT ST.IdObject, ST.IdObjEns, ST.Position, ST.Type
   FROM SDL_ObjText AS ST, SDL_Objectif AS SO
 WHERE ST.IdObject = SO.IdObject
UNION
SELECT SI.IdObject, SI.IdObjEns, SI.Position, SI.Type
   FROM SDL_ObjImg AS SI, SDL_Objectif AS SO
 WHERE SI.IdObject = SO.IdObject;


 
Si on veut faire des additions, on utilisera SUM et GROUP BY.


Message édité par olivthill le 13-04-2006 à 22:55:42
n°1346652
Dorian BAC​+4
Posté le 14-04-2006 à 09:58:13  profilanswer
 

c pas ça que je veux dsl
 
qd je dis adition c pas SUM
 
Le truc c que je veux au final une seule requete et donc une seule table

n°1346653
Dorian BAC​+4
Posté le 14-04-2006 à 09:59:04  profilanswer
 

fusioner les 2 tables...

n°1346695
Mindiell
Posté le 14-04-2006 à 10:29:01  profilanswer
 

Utilise union dans ce cas la :
 
SELECT ST.IdObject, ST.IdObjEns, ST.Position, ST.Type  
FROM SDL_ObjText AS ST, SDL_Objectif AS SO  
WHERE ST.IdObject = SO.IdObject;  
UNION
SELECT SI.IdObject, SI.IdObjEns, SI.Position, SI.Type  
FROM SDL_ObjImg AS SI, SDL_Objectif AS SO  
WHERE SI.IdObject = SO.IdObject;  
 
Tout simplement


---------------
Mindiell

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  champs identique, résultat mixe

 

Sujets relatifs
requete identique, reponse differente[PHP]Utiliser le resultat d'un DATE_FORMAT de requete mysql sous dream
Erreur : Trop de champs définisRecherche dans champs date par semaine
Plusieur formulaire avec nom de champs identique ?Champs date system sous windev 9.0
Récupérer avec une seule fonction champs de formulaireRequête SQL sur plusieurs champs en même temps
[Résolu] Requête complexe sur table ayant 4 champs clé primaire 
Plus de sujets relatifs à : champs identique, résultat mixe


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)