Requête avec jointure non obligatoire

Résolu
cs_destiny Messages postés 249 Date d'inscription jeudi 17 février 2005 Statut Membre Dernière intervention 29 août 2011 - 27 nov. 2009 à 12:42
cs_destiny Messages postés 249 Date d'inscription jeudi 17 février 2005 Statut Membre Dernière intervention 29 août 2011 - 27 nov. 2009 à 15:41
Bonjour,

Ma requete (CI) :

$this->db->select('_ID_contact, _ID_bien, action, auto, commentaires.commentaire, commentaires.date_creation, date_rappel, contacts.civilite, contacts.nom, contacts.prenom, biens.reference');

$this->db->join('contacts', 'contacts._ID=commentaires._ID_contact');
$this->db->join('biens', 'biens._ID=commentaires._ID_bien');

$this->db->where('action', 1);

$this->db->get('commentaires');

Dans cette requête, deux jointures sont présentes. Le '_ID_contact ou encore le _ID_bien peut être vide soit une jointure impossible. Mysql, si une jointure est null ne renvoie pas les données de la ligne.

Comment faire pour que Mysql me renvoie l'intégralité des lignes parcourue dans 'commentaires' malgré des jointures parfois null.


Merci d'avance

2 réponses

cs_Mcjo Messages postés 403 Date d'inscription dimanche 12 août 2001 Statut Membre Dernière intervention 3 septembre 2012 2
27 nov. 2009 à 13:25
Je ne sais pas quel ORM tu utilises, mais si c'est active record la doc dit


$this->db->join('contacts', 'contacts._ID=commentaires._ID_contact', 'left');

equivalent a left outer join
3
cs_destiny Messages postés 249 Date d'inscription jeudi 17 février 2005 Statut Membre Dernière intervention 29 août 2011
27 nov. 2009 à 15:41
Merci cela fonctionne ;)

J'utilise CodeIgniter (clean, light and safe, J'adore).


Cyao
0
Rejoignez-nous