Perhaps you want:
select * from (
select * from A where x in (subselectA)
left outer join (
select * from B where y in (subselectB)
) as a
on -- something
) as A1
UNION ALL
select * from (
select * from B where y in (subselectC)
left outer join (
select * from A where x in (subselectD)
) as b
on -- something
) as B1
JOIN takes tables (or table-like objects) as operands. SELECT does not
yield a table unless it's wrapped in parenthesis.
(I generally put UNION in uppercase to make it stand out, lest on a
quick scan it seem like two separate statements.)
Yes that's it. In fact the actual statement is much more complex than
the sketch I typed, where I forgot to type the where condition and the
outer select. And I got lost in nesting the parenthesis when
"simplifying" (i.e. emasculating) my own example.
Thanks for the answers and sorry for the noise. I now have both eyes
wide open...
_______________________________________________
sqlite-users mailing list
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users