Jointure conditionnelle

Jointure conditionnelle - SQL/NoSQL - Programmation

Marsh Posté le 09-12-2005 à 03:30:58    

Bonjour,
 
J'ai 2 tables
 
table A
--
Aid | text | isB  
1 | A1 | 1
2 | A2 | 1
3 | A3 | 0
 
table B
--
Bid | data | Aid
11 | aaaaa | 1
22 | bbbbb | 2
23 | ccccc | 2
 
Résultat souhaité  
Bid | text | data
1 | A1 | aaaaa
2 | A2 | bbbbb
2 | A2 | ccccc
3 | A3 | null
 
 
 
J'ai pensé faire  

Code :
  1. SELECT a.Aid, a.text,
  2. IF (
  3. a.isB =1, b.data, NULL
  4. )
  5. FROM AAA AS a, BBB AS b
  6. WHERE b.Aid = a.Aid
  7. OR a.isB =0


 
Mais j'obtient  
Aid | text | data
--
1 | A1 | aaaaaa
2 | A2 | bbbbbb
2 | A2 | cccccc
3 | A3 | NULL
3 | A3 | NULL
3 | A3 | NULL
 
Je comprends tres bien pourquoi il y a 3 fois 'A3' mais je n'arrive pas a l'empecher :(
En fait j'aimerai faire la jointure que lorsqu'elle donne un résultat :x
 
Il faudrait que je fasse ca en 1seule requete

Reply

Marsh Posté le 09-12-2005 à 03:30:58   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed