MySQL Forums
Forum List  »  Spanish

contar un campo relacionando 3 tablas
Posted by: clemen olivares
Date: February 08, 2011 04:23PM

hola que tal a todos,
necesito su orientacion en esta consulta que realizo a mi base,
yo quiero obtener apartir de 3 tablas lo siguiente

en una tengo
mysql> DESCRIBE l_Contig;
+-----------------+
| Field |
+-----------------+
| proy_contig |
| id_contig |
| l_length_contig |
| l_isogrupo |
| l_status |
| l_seq_contig |
+-----------------+

otra

mysql> DESCRIBE l_Status_assembled;
+-------------------+
| Field |
+-------------------+
| proy_st_ass |
| id_seq_readstatus |
| l_readstatus |
| l_contig5 |
| l_contig3 |
+-------------------+

y:


mysql> DESCRIBE l_Transcriptoma;
+--------------+
| Field |
+--------------+
| proy_trans |
| id_seq_trans |
| l_longitud |
| l_lib_trans |
| l_seq_trans |
+--------------+


a lo cual yo quiero obtener apartir de mi id_contig(este valor se puede repetir varias veces en la siguientes columnas--->) si aparecen en l_contig5 OR en l_contig3, de esa sentencia quiero contar cuantas bajo esa condicion son las pertenecen a id_seq_readstatus(estos valores son unicos) y me daria un total de lo que tengo bajo la primicia de id_seq_readstatus y esta la ligo a l_transcriptoma porque necesito otro dato que se almacena en l_lib_trans, por supuesto lo que me interesa saber es que con respecto al campo l_isogrupo cuantos id_seq_readstatus tengo realmente (bajo la condicion del OR) y bajo esta primicia realice la siguiente consulta pero me imprime solo el primer valor que coincide con mi OR y quien sabe que me cuenta y me infla el valor yo quiero que me coloque todos los isogroup con todas sus id_seq_readstatus y el total de ellas mas su libreria de cada una podrian orientarme gracias



CONSULTA:

mysql> SELECT Contig.l_isogrupo, assembled.id_seq_readstatus,count(id_seq_readstatus), Trans.l_lib_trans FROM ((l_Contig Contig INNER JOIN l_Status_assembled assembled ON Contig.id_contig=assembled.l_contig5 OR Contig.id_contig=assembled.l_contig3) INNER JOIN l_Transcriptoma Trans ON assembled.id_seq_readstatus=Trans.id_seq_trans) GROUP BY Contig.l_isogrupo INTO OUTFILE '/tmp/consulta5.txt' FIELDS TERMINATED BY ',';Query OK, 1933 rows affected (12 min 47.15 sec)



SALIDA

isogroup00001,GPJFHIG01EVGSQ,4922,1
isogroup00002,GPJFHIG01A9LK0,339,1
isogroup00003,GPJFHIG01CDL5X,64074,1
isogroup00004,GPJFHIG01BH6WD,43801,1
isogroup00005,GPJFHIG01AE7RF,8442,1
isogroup00006,GPJFHIG01AN7BW,5208,1
isogroup00007,GPJFHIG01DZ7EC,3938,1

Options: ReplyQuote


Subject
Views
Written By
Posted
contar un campo relacionando 3 tablas
1682
February 08, 2011 04:23PM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.