yo,
zum einen sind die tabellen und spalten-namen meiner meinung nach ein wenig unglücklich gewählt. es is nur ein vorschlag, aber ich würde versuchen namen zu nehmen, aus denen man den sinn lesen kann. das macht vor allem für aussenstehende einfacher zu verstehen.
Ich habe eine Tabelle (form1) mit einer Subtabelle (f1_sub_from). In der Tabelle form1 ist jeweils die ID der Sätze aus f1_sub_form enthalten
ok, eine 1:n beziehung der beiden tabellen, wobei es subtabellen meiner meinung nach nicht gibt. aber ist auch nicht so wichtig. ich habe mal versucht, deine alte abfrager ein wenig zu sortieren.
SELECT count(*) as ANZAHL
FROM form1, f1_sub_form
WHERE form1.F1_WERT033 = f1_sub_form.F1SUB_ID
AND f1sub_wert NOT IN ('3', '8', '9', '10', '12')
AND f1sub_wert NOT BETWEEN 16 AND 56
AND form1.F1_WERT056 = truncate('1',0)
AND form1.F1_KEY1 = '6054061'
AND F1_MODUL = '16/1'
AND truncate('6',0) <
(SELECT COUNT(*) As ANZAHL2
FROM form1, f1_sub_form
WHERE F1_WERT119 = f1sub_id
AND f1sub_wert <> truncate('60',0)
)
der erste kritische punkt ist, du hast keine aliasnamen für die tabellen verwendet. das mag bei einem subselect vielleicht unkritisch sein, aber trotzdem stehen in einer abfrage, zweimal die gleichen tabellen und ich würde dann lieber alias namen einsetzten, um die spalten eindeutig unterscheiden zu können.
der zweite kritische punkt ist meiner meinung nach der, dass die beiden tabellen mit der 1:n beziehung scheinbar über verschiedene spalten miteinander verbunden sind oder aber in dem subselect fehlt die JOIN bedingung.
ich vermute, dein problem könnte in dem daten-desgn liegen. aber dafür wäre es hilfreich, wenn du noch mal genauer erklären könntest, was genau du machen willst und wie deine tabellen genau aussehen, spriche welche spalten wofür stehen.
Ilja