galera, aparentemente o Crystal não entende o relacionamento entre datasets, normalmente quando se usam duas tabelas, são usados dois selects pra preenche-las.
como meu problema era o inner join, criei um datatable no dataset com os campos usados no innerjoin.
usei esse dataset com essa datatable no datasource do Crystal.
a partir dai foi só jogar meu um datatable com o meu select no SetSource do Crystal.