SQL 2 jointures externes gauches sur la même table

Je suis en train de faire 2 jointures sur la même table et je veux les résultats suivants:

chnl_ptnr_key type1_ky type2_ky
------------- -------- --------
1             1        null
1             2        null
1             null     3
1             null     4

Mais au lieu de cela je suis

chnl_ptnr_key type1_ky type2_ky
------------- -------- --------
1             1        3
1             2        3
1             2        3
1             2        4

Ma requête est:

SELECT cp.chnl_ptnr_ky, cpmap1.ky as type1_ky, cpmap2.ky as type2_ky
FROM chnl_ptnr cp
LEFT OUTER JOIN chnl_ptnr_oos_map cpmap1 on (cp.chnl_ptnr_ky = cpmap1.chnl_ptnr_ky and cpmap1.typ = 'TYPE1')
LEFT OUTER JOIN chnl_ptnr_oos_map cpmap2 on (cp.chnl_ptnr_ky = cpmap2.chnl_ptnr_ky and cpmap2.typ = 'TYPE2')
WHERE cp.chnl_ptnr_ky = '1111'

Quelqu'un peut-il m'aider à changer cette requête si je reçois les valeurs null dans les type1_ky et type2_ky où la ligne est retournée à partir de la jointure autres?
J'ai besoin de ce format parce que je suis d'essayer de l'utiliser pour un iBATIS carte.

Merci beaucoup

  • qu'est-ce que votre schéma pour chnl_ptnr et chnl_ptnr_oos_map?
  • Très cryptique noms et en ne fournissant pas les données des tables.
InformationsquelleAutor ender | 2011-07-14