Le 29/01/2017 à 16:09, Johan Cwiklinski a écrit :
Salut,On peut très bien faire une jointure sur la même table pour faire ce type de substitution ; exemple
Le 29.01.2017 13:44, f.lassave@free.fr a écrit :
Bonjour à tous,C'est possible... Dans Galette, je n'utilise pas ce type de chose ; l'adhérent parent est chargé au besoin via une nouvelle requête et on récupère les infos depuis ce denier.
Je me suis re-lancé dans le SQL ...
Pour le coup, il faut probablement une sous requête qui va aller récupérer les infos complémentaires ; et des conditions pour prendre l'adresse de l'adhérent ou de son parent s'il n'en possède pas.
SELECTLe "LEFT OUTER JOIN" permet d'explorer toute la table ad1 ; un "(INNER) JOIN" simple se limiterait aux enregistrements qui ont effectivement un lien 'parent'
`ad1`.`nom_adh` AS `nom`,
`ad1`.`prenom_adh` AS `prenom`,
CASE WHEN `ad1`.`adresse_adh` != '' THEN `ad1`.`adresse_adh`
ELSE `ad2`.`adresse_adh`
END AS `adresse`,
`ad1`.`parent_id` AS `parent`
FROM
`galette_adherents` as `ad1`
LEFT OUTER JOIN `galette_adherents` AS `ad2` ON `ad2`.`id_adh` = `ad1`.`parent_id`
WHERE
1
Daniel