Ich kenne es von Oracle so, dass die
DB dynamisch bestimmt, ob sie anhand des
SQL noch eindeutig den PK der Ergebnismenge bestimmt. Das geht z.B. nicht mehr (naheliegend), wenn das
SQL Aggregatfunktionen enthält oder schlicht der PK nicht mehr im Ergebnisset drin ist.
Funktioniert problemlos auch mit Joins über mehrere Tabellen und reinen "Filtern".
Dennoch, wenn die
DB meint, dass es nicht mehr geht, kannst Du clientseitig nichts machen, außer Dein
SQL zu prüfen.
Wie das mit anderen
DB ist, kann ich Dir nicht sagen. Vielleicht hat aber auch Dein Filtercode einen Hau. Am besten das Problem in einem Miniprogramm freistellen und untersuchen.