CONCAT_WS() et JOIN(SELECT): type BLOB renvoyé
Bonjour,
J'ai un petit soucis avec une procédure :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
DELIMITER $$
DROP PROCEDURE IF EXISTS `probes_db`.`list_redund_targ_seq`$$
CREATE PROCEDURE `probes_db`.`list_redund_targ_seq` ()
BEGIN
select ts.idtarget_sequence, length(ts.sequence) as target_size,
sr.c occurences,
ts.sequence,
concat_ws('|', t.target_id, t.target_type, t.target_genome_id,
t.target_chrs_file_id, t.target_entrez_id,
return_pos(t.target_body_pos1, t.target_body_pos2, t.target_juncb_pos1,
t.target_juncb_pos2,
t.target_juncb_pos3, t.target_juncb_pos4)) as target_name
from target_sequence ts join target t
on ts.idtarget_sequence = t.target_sequence_idtarget_sequence
join (select ts2.idtarget_sequence, count(t2.idtarget) c from target_sequence ts2
join target t2 on ts2.idtarget_sequence = t2.target_sequence_idtarget_sequence
group by ts2.idtarget_sequence having c > 1 limit 10) sr
on sr.idtarget_sequence = ts.idtarget_sequence order by ts.idtarget_sequence;
END$$
DELIMITER ; |
Cette requête croise les données d'une table avec une autre requête sur la même table. La seconde requête JOIN(SELECT...) prend en compte un COUNT(), de cette manière le résultat du COUNT() peut être inclus dans chaque ligne de la première.
Mon problème: le concat_ws() renvoie une colonne de type BLOB (sans données).
Si j'enlève le JOIN (SELECT...) ça marche parfaitement, c'est cette seconde requête qui semble affecter le résultat de la fonction CONCAT_WS(). J'ajoute qu'un CONCAT() seul renvoie aussi un type BLOB dans ce cas de figure.
Auriez-vous une idée là-dessus ?
En vous remerciant,
C. Tobini