Hi Dieter,
That could be caused by the joins; for example it there are two entries in the cache_taxa_taxon_lists table which are both capable of joining on to one record in the cache occurrence table. This might arise with your query if you had two similar species lists using the same external keys.
Now that is a perfectly likely, indeed probable, situation for us where we have a shared warehouse with multiple users creating multiple overlapping species lists. This has been overcome by using a definitive master species list and filtering so that we only match against that one species list. (For this to work it does depend on all collaborating species lists to include consistent external keys. Another good reason for us to use NBN TVKs.)
Since that master species list will vary from one warehouse to another, the id of the list is supplied as a report parameter in the Drupal configuration of the page, under 'Preset parameter values'.
Our presets are
date_from=
date_to=
survey_id=
quality=C
location_id={profile_location}
taxon_groups={profile_taxon_groups}
currentUser={profile_indicia_user_id}
taxon_list_id=15
15 is the id of our master species list.
This may, of course, not be the cause of your problem at all! However it seems a likely place to look.
Jim Bacon.