I encounter some strange results in the following query :
SET @indi_id = 768;
SET @generations = 8;
SELECT num, sosa, seq, len, dernier, ful_ful_nom 
FROM fullindi 
LEFT JOIN lignee_new 
ON ((ful_indi_id = dernier) AND (len BETWEEN 1 AND @generations)) 
RIGHT JOIN numbers 
ON ((sosa = num) AND (premier = @indi_id)) 
WHERE num BETWEEN 1 AND pow(2, @generations) 
GROUP BY num 
ORDER BY num;
The result looks like this :
Why the row just before a full NULL one doesn't display the existing values 'sosa', 'len', 'dernier', ful_ful_nom') but only the 'seq' value (see rows 43 and 47 in this example) ?
What am I missing?
As requested, here are data :
table lignee_new :
table fullindi :



 
    