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

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

SQL

n°1370259
AGA
La boîte à Bokeh!
Posté le 19-05-2006 à 09:03:12  profilanswer
 

Hello,
 
 
Je dois bosser sur un modèle externe non modifiable.
 
Table1 et Table2 ont une rélation 1:1.
table1 à deux champs, clé1, champ1.2 ET champ1.3, ce dernier est soit vide soit = T.
table2 à deux champs, clé2 et champ2.2
 
Les tables sont liées par clé1=clé2
 
Pas de soucis pour ramener ceci :
select champ1.2, champ2.2, champ1.3 from
table1, table2
where clé1=clé2
 
Exemple de résultat :
 
 
En revanche je bloque sur :
Ramener les mêmes lignes que ci dessus MAIS si cette fois le champ1.3 n'est pas égale à T alors on ne ramène pas le champ2.2 (enfin on affiche blanc plutot).
 
une idée?

mood
Publicité
Posté le 19-05-2006 à 09:03:12  profilanswer
 

n°1370271
marc90
Posté le 19-05-2006 à 09:20:25  profilanswer
 

Quant tu dis ne pas ramener le champs 2.2 c'est plutot toute la ligne que tu ne veux pas qui soit affichée?

n°1370276
AGA
La boîte à Bokeh!
Posté le 19-05-2006 à 09:23:24  profilanswer
 

Hello,
 
Oui toute la ligne, c'est vrai que je ne me sert que tu champ2.2 à l'affichage.

n°1370292
marc90
Posté le 19-05-2006 à 09:38:58  profilanswer
 

Tu veux afficher que les lignes ou champs2.2 n'est pas vide.
 
Dans ce cas là tu mets dans ta requête SELECT .....WHERE.....AND champ2.2<>NULL

n°1370336
AGA
La boîte à Bokeh!
Posté le 19-05-2006 à 10:36:06  profilanswer
 

Non ce n'est pas ça.
 
Exemple de résultat avec la RQT1
 
Toto, Bernard, T
Titi, Jacques,  
Albert, Gontron, T
 
Avec la requete deux je voudrais
Toto, Bernard, T (on affiche bernard CAR le champ 3 est à T)
Titi, vide, vide
Albert, Gontron, T
 
:??:

n°1370362
moonboot
Posté le 19-05-2006 à 10:50:57  profilanswer
 

essaie ca :
 

Code :
  1. select champ1.2,
  2.          case
  3.             when champ1.3 = 'T'
  4.                then champ2.2
  5.             else null
  6.          end,
  7.          champ1.3
  8. from
  9.         table1,
  10.         table2
  11. where
  12.         clé1=clé2


n°1370367
marc90
Posté le 19-05-2006 à 10:54:05  profilanswer
 

Dans ce cas là il faut faire
 
SELECT champ1.2, champ2.2, champ1.3
FROM table1, table2
WHERE cle1=cle2
AND champ1.3 = T
UNION
SELECT champ1.2
FROM table1, table2
WHERE cle1=cle2
AND champ1.3<>T


Aller à :
Ajouter une réponse
 

Sujets relatifs
Fusionner des fichiers texte et les envoyer dans une base SQLRequetes Sql Simples !
[SQL] Requête pour récupérer le classement d'un championnat [Résolu]probleme sur une requete SQL
Utiliser l'attribut SQL SELECT[SQL] Une requete de division
[RESOLU][SQL SERVER] Problème de curseur[SQL] Masque "littéral"
[SQL SERVER] Copie de donnees d'une base a une autre[SAGE] Transformer un bon de commande en bon de livraison en SQL
Plus de sujets relatifs à : SQL


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