Kombinierte SQL-Abfrage

23/10/2008 - 16:43 von Herbert Fidesser | Report spam
Hallo NG,

mein Problem ist ein kleines … aber ich kann's nicht lösen:
Weinproben werden analysiert und es werden verschiedenste Anfrage-
bzw.Ergebnisparameter geliefert.
Eine Abfrage soll mir liefern:
Alle Proben, für die es zumindest ein Ergebnis (Feld Wert oder Feld
Befund) gibt. Ein zusàtzliches Feld (Fehlend) soll die Anzahl der noch
nicht analysierten Parameter liefern.

Wenn ich nun die eingebunden Abfrage separat speichere und einbinde
funktioniert es. Binde ich die Abfrage aber als SLQ-String ein,
erhalte ich die Fehlermeldung "Syntaxfehler in FROM Klausel". Woran
kann das liegen?

Hier mein kompletter SQL-String:

SELECT Proben.AutoPr AS Probe, Kunden.Such AS Kunde, Fehl.Fehlend
FROM (Kunden INNER JOIN ((Auftrag INNER JOIN Proben ON
(Auftrag.AutoAuf = Proben.AutoAuf) AND (Auftrag.AutoAuf Proben.AutoAuf)) INNER JOIN
[SELECT AnalyseErgebnis.AutoPr, Sum(IIf(IsNull([Wert]) And
IsNull([Befund]),1,0)) AS Fehlend FROM AnalyseErgebnis GROUP BY
AnalyseErgebnis.AutoPr]. AS Fehl
ON Proben.AutoPr = Fehl.AutoPr) ON Kunden.LfNr = Auftrag.LfNr) INNER
JOIN (GruppenDefZuw INNER JOIN (Analysen INNER JOIN AnalyseErgebnis ON
Analysen.AutoAna = AnalyseErgebnis.AutoAna) ON GruppenDefZuw.AutoGDZ AnalyseErgebnis.AutoGDZ) ON Proben.AutoPr = GruppenDefZuw.AutoPr
WHERE (((AnalyseErgebnis.wert) Is Not Null) AND
((Proben.Erledigt)=False)) OR (((Proben.Erledigt)=False) AND
((AnalyseErgebnis.Befund) Is Not Null))
GROUP BY Proben.AutoPr, Kunden.Such, Fehl.Fehlend;

Sorry für den langen String.
Danke für Tipps
Gruß aus Wien
Herbert
 

Lesen sie die antworten

#1 Peter Doering
23/10/2008 - 17:37 | Warnen spam
Hallo,

Herbert Fidesser wrote:

Weinproben werden analysiert und es werden verschiedenste Anfrage-
bzw.Ergebnisparameter geliefert.
Eine Abfrage soll mir liefern:
Alle Proben, für die es zumindest ein Ergebnis (Feld Wert oder Feld
Befund) gibt. Ein zusàtzliches Feld (Fehlend) soll die Anzahl der noch
nicht analysierten Parameter liefern.

Wenn ich nun die eingebunden Abfrage separat speichere und einbinde
funktioniert es. Binde ich die Abfrage aber als SLQ-String ein,
erhalte ich die Fehlermeldung "Syntaxfehler in FROM Klausel". Woran
kann das liegen?



Ich vermute mal an der A97-Syntax fuer die Unterabfrage:

[SELECT AnalyseErgebnis.AutoPr, Sum(IIf(IsNull([Wert]) And
IsNull([Befund]),1,0)) AS Fehlend FROM AnalyseErgebnis GROUP BY
AnalyseErgebnis.AutoPr]. AS Fehl


^^

Probier mal mit runden Klammern und ohne Punkt:

(SELECT AnalyseErgebnis.AutoPr, Sum(IIf(IsNull([Wert]) And
IsNull([Befund]),1,0)) AS Fehlend FROM AnalyseErgebnis GROUP BY
AnalyseErgebnis.AutoPr) AS Fehl

Sorry für den langen String.



SQL-Strings kann man sich hier gut formatieren lassen:

http://orafaq.com/cgi-bin/sqlformat...matter.tpl

Gruss - Peter

Mitglied im http://www.dbdev.org
FAQ: http://www.donkarl.com

Ähnliche fragen