Giuseppe,
there is no "layer" concept on Spatial SQL: what really happens
is that each feature from the first table will be evaluated against
any other feature from the second table (Cartesian Product) and
all individual results will be then inserted into the resultset.
you SQL snippets seems to be a little bit optimistic and simplistic;
just to say, I see no WHERE clause at all.
performing a quick visual inspection of the overall resultset
surely isn't the best way to properly debug your SQL query,
because there are lots of potentially harmful dataset-specific
conditions requiring a more careful evaluation.
just to enumerate the most obvious cases: duplicate items,
invalid geometries, partially overlapping items into the same
input table and so on.
I'll be glad to help you to resolve your problem, but I
absolutely need a copy of your tables in order to set up
a debugging session.
You can eventually send me your sqlite db-file in a
private mail.
bye Sandro