bonjour,
J'ai deux tables que je souhaite utiliser dans ma base de données :
- une table genes_in_operons (id_operon INT , locus VARCHAR, id_organism INT)
-all_vs_all (locus VARCHAR, accessionVARCHAR, Pvalue INT)
la table genes_in_operons contient tous les 'locus' que je souhaite afficher dans mes resultats. Ci-dessous ma requete :
$locus_target et id_org_refer étant defini precedemment dans mon code (c'est du perl, mais peu importe)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 SELECT id_operon,genes_in_operons.locus,A1.Pvalue,A2.Pvalue FROM genes_in_operons LEFT OUTER JOIN all_vs_all AS A1 ON genes_in_operons.locus=A1.locus LEFT OUTER JOIN all_vs_all AS A2 ON A1.locus=A2.accession WHERE A2.locus=$locus_target AND A1.accession=$locus_target AND id_organism =$id_org_refer
Mon probleme est que la jointure sur les deux tables all_vs_all n'existe pas toujours. Mais je voudrais un resultat du genre :
+--------------------------------------------------------------+
| id_operon | locus | A1.Pvalue |A2.Pvalue |
+--------------------------------------------------------------+
Et que quand la condition A0.locus=A1.locus ou A0.locus =A2.accession ne peut pas etre trouvé dans les tables jointes la ligne s'affiche quand meme dans les resultats, sans renseigner les deux derniers champs.
Voila j'espere avoir été a peu pres clair. Si ce n'est pas le cas, je suis a votre entiere disposition.
Merci d'avance.
Partager