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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [SQL] Aide requête avec enregistrement facultatif

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[SQL] Aide requête avec enregistrement facultatif

n°2253861
Uncle_Scro​oge
Posté le 21-03-2015 à 18:44:04  profilanswer
 

Bonjour  :hello:
 

 

N'ayant pas pratiquer le SQL depuis quelque année, je me trouve face à un petit soucis.

 

La situation :
J'ai une table avec les colonnes C1 et C2. La valeur C1 est obligatoire (mais non unique) et la valeur C2 est facultatif.
 par exemple :
C1          C2
A1           X
A2          
B1           Y
C1

 

X sera affecté à A.
Y à B
et C n'a pas de valeur C2

 

Et l'objectif est d'avoir pour les enregistrement présent dans C2, les valeurs C1 associés

 

Résultat attendu :
C2          C1
X           A1
X           A2
Y           B1

 

j'ai essayé avec une sous table mais cela ne fonctionne pas.


Message édité par Uncle_Scrooge le 21-03-2015 à 18:47:56
mood
Publicité
Posté le 21-03-2015 à 18:44:04  profilanswer
 

n°2253863
flo850
moi je
Posté le 21-03-2015 à 20:12:08  profilanswer
 

pourquoi tu associe X a A2 ?


---------------

n°2253866
Uncle_Scro​oge
Posté le 21-03-2015 à 22:12:40  profilanswer
 

à cause de la lettre A.
C2 est associé à la première lettre de C1.

   


Message édité par Uncle_Scrooge le 21-03-2015 à 22:13:54
n°2253870
Yonel
Monde de merde !
Posté le 22-03-2015 à 06:50:32  profilanswer
 

Tu as un problème de structure de tables.
 
As-tu la possibilité de la changer ?

n°2253876
Uncle_Scro​oge
Posté le 22-03-2015 à 09:46:17  profilanswer
 

oui, c'est possible.

 

Je peux faire :

 

C1    C2     C3
A     1      X
A     2    
B     1      Y
C     1

 

et l'objectif serait d'avoir ce résultat :
C3    C2     C1
X     1      A
X     2      A
Y     1      B


Message édité par Uncle_Scrooge le 22-03-2015 à 09:53:29
n°2253877
Uncle_Scro​oge
Posté le 22-03-2015 à 09:53:47  profilanswer
 

j'ai essayé de faire quelque chose comme :
select C3, C2, C1  
from Table T1, (select C1 from table where C3 = X) T2
where T1.C1 = T2.C1;
 
mais la colonne C3 est vide pour A / 2 alors que je souhaiterais avoir un X.

n°2253967
lasnoufle
La seule et unique!
Posté le 23-03-2015 à 14:06:20  profilanswer
 

Salut

 

Vu que tu ne precises pas, on va poser comme hypothese que seules les lignes avec c2=1 ont une valeur dans c3.
Si c'est pas le cas, merci de preciser, ainsi que d'expliquer quelles valeurs sont possibles et laquelle choisir.

 

Si c'est le cas, tout simplement:

SELECT t_principale.c3, t_principale.c2, t_principale.c1
FROM table t_principale
JOIN (SELECT c1, c3
      FROM table
      WHERE c3 IS NOT NULL) t_c3s ON t_c3s.c1 = t_principale.c1


Message édité par lasnoufle le 23-03-2015 à 14:07:00

---------------
C'était vraiment très intéressant.

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

  [SQL] Aide requête avec enregistrement facultatif

 

Sujets relatifs
Aide sur Javascript pour un pdf intéractifRequête SQL Update dans PHP
Afficher le nouveau enregistrement dans la liste.aide pour programme python !
[Access/SQL] Comparaison de tablesAide lettre k plus complexe
[Réglé] [SQL] Update après un select[Resolu]Besoin d'aide pour de l'ISN
Aide formulaire de contact 
Plus de sujets relatifs à : [SQL] Aide requête avec enregistrement facultatif


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR