Einzelnen Beitrag anzeigen

Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.545 Beiträge
 
Delphi 11 Alexandria
 
#1

Was ist an diesem Statement falsch?

  Alt 9. Nov 2007, 19:37
Datenbank: ABS DB • Zugriff über: DBManager
Wieso mag ABS DB die letzte Zeile nicht? Bin ich betriebsblind?
SQL-Code:
SELECT C.Bezeichnung AS Artikel,C.Preis AS Einzelpreis,B.Menge AS Menge,D.Wert AS 'MwSt %',
(C.Preis * B.Menge) AS 'Gesamt Netto',(C.Preis * (1 + D.Wert / 100) * Menge) AS 'Gesamt Brutto'
FROM Beleg A
JOIN BelegPos B ON B.Beleg_id = A.Id
JOIN Artikel C ON C.Id = B.Artikel_id
JOIN MwStSatz D ON D.Gruppe_ID = C.MwStGruppeId
WHERE A.Id = 1
AND D.gueltig_seit = (SELECT MAX(M.gueltig_seit) AS aktuell
                      FROM MwStSatz M
                      WHERE M.Gruppe_ID = D.Gruppe_ID)
                      --AND M.gueltig_seit <= A.Datum)
Ich möchte doch nur den MwSt-Satz ermitteln, der zum Zeitpunkt des Belegdatums gültig war. Entferne ich den Kommentar, erhalte ich die Fehlermeldung Search condition is not applicable - Native error: 30144. Lasse ich den Kommentar so, wie er oben ist, erhalte ich immer den aktuellsten Satz ohne Berücksichtigung des Belegdatums


[edit] So hätte ich es gerne, wird aber wie gesagt moniert:
SQL-Code:
SELECT C.Bezeichnung AS Artikel,C.Preis AS Einzelpreis,B.Menge AS Menge,D.Wert AS 'MwSt %',
(C.Preis * B.Menge) AS 'Gesamt Netto',(C.Preis * (1 + D.Wert / 100) * Menge) AS 'Gesamt Brutto'
FROM Beleg A
JOIN BelegPos B ON B.Beleg_id = A.Id
JOIN Artikel C ON C.Id = B.Artikel_id
JOIN MwStSatz D ON D.Gruppe_ID = C.MwStGruppeId
WHERE A.Id = 1
AND D.gueltig_seit = (SELECT MAX(M.gueltig_seit) AS aktuell
                      FROM MwStSatz M
                      WHERE M.Gruppe_ID = D.Gruppe_ID
                      AND M.gueltig_seit <= A.Datum)
[/edit]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat