AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Was ist an diesem Statement falsch?
Thema durchsuchen
Ansicht
Themen-Optionen

Was ist an diesem Statement falsch?

Ein Thema von DeddyH · begonnen am 9. Nov 2007 · letzter Beitrag vom 10. Nov 2007
Antwort Antwort
Seite 3 von 3     123   
grenzgaenger
(Gast)

n/a Beiträge
 
#21

Re: Was ist an diesem Statement falsch?

  Alt 9. Nov 2007, 20:18
Zitat von DeddyH:
[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]
hab mir zwar nicht alle beiträge angeguckt, aber schlicht und einfach ist der fehler, dass du hier 'n subselect hast... also abfrage is exits oder in... dann sollte das auch klappen.

mfg.
ggg
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#22

Re: Was ist an diesem Statement falsch?

  Alt 9. Nov 2007, 20:20
Subselect sollte aber nur einen Wert zurückliefern, dann wäre in nicht unbedingt notwendig, aber schaden kann es natürlich nicht.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

Re: Was ist an diesem Statement falsch?

  Alt 9. Nov 2007, 20:21
Na gut, in Anbetracht dessen, dass ich das hier nur für jemand anderen zur Verdeutlichung der Mehrwertsteuer-Problematik mache, habe ich jetzt keine Lust mehr, mich noch weiter zu ärgern. Dann muss man halt im ersten Schritt den jeweils aktuellen Prozentsatz je Gruppe ermitteln und daraus dann am Frontend ein entsprechendes zweites Statement zusammenbasteln (obwohl ich sowas hasse).

P.S.: Mit IN hab ich auch schon experimentiert, bringt auch nix.
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
grenzgaenger
(Gast)

n/a Beiträge
 
#24

Re: Was ist an diesem Statement falsch?

  Alt 9. Nov 2007, 20:37
Zitat von mkinzler:
Subselect sollte aber nur einen Wert zurückliefern, dann wäre in nicht unbedingt notwendig, aber schaden kann es natürlich nicht.
tja, ausserdem ist noch any und some zulässig, wenn ich mich nicht irre. einfach mal ind er hilfe anchgugen... mit '=' klappt es auf alle fälle nicht.
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#25

Re: Was ist an diesem Statement falsch?

  Alt 9. Nov 2007, 20:42
Zitat von grenzgaenger:
tja, ausserdem ist noch any und some zulässig, wenn ich mich nicht irre. einfach mal ind er hilfe anchgugen... mit '=' klappt es auf alle fälle nicht.
Möglicherweise ist es eine Postgres-Erweiterung von SQL (was ich aber nicht denke), aber dort funktioniert sowas.
  Mit Zitat antworten Zitat
grenzgaenger
(Gast)

n/a Beiträge
 
#26

Re: Was ist an diesem Statement falsch?

  Alt 9. Nov 2007, 20:48
tja, nach ANSI SQL ist das jedenfalls nicht erlaubt. ist möglich, dass dies die lokale datenbank unterstützt, aber darauf sollte man sich normal nicht verlassen. wie gesagt es gibt verschiedene statemens, welche subselects unterstützen.. IN, IS EXISTS, ANY, SOME ...

und noch 'n schönen abend

PS: teilweise wissen auch die datenbank hersteller nichtgenau was sie machen... . daher mal im handbuch nachsehen ...
  Mit Zitat antworten Zitat
grenzgaenger
(Gast)

n/a Beiträge
 
#27

Re: Was ist an diesem Statement falsch?

  Alt 9. Nov 2007, 20:51
Zitat von DeddyH:
P.S.: Mit IN hab ich auch schon experimentiert, bringt auch nix.
wie wär es mal, das ganze mit 'ner ansi SQL DB auszuprobieren... und nicht immer diese exotischen derivate...
  Mit Zitat antworten Zitat
TBx
(Administrator)

Registriert seit: 13. Jul 2005
Ort: Stadthagen
1.875 Beiträge
 
Delphi 12 Athens
 
#28

Re: Was ist an diesem Statement falsch?

  Alt 9. Nov 2007, 21:38
N'Abend!

Lass doch mal das hier überflüssige AS aktuell aus dem Subselect raus.
Ich würde die Fehlermeldung dahingehend interpretieren, dass er das Feld nicht kennt, kennt ABS Feldnamen womöglich nicht mehr, sobald man einen Alias draufgelegt hat?
Ist vielleicht ja nen Versuch Wert.

Gruß

onlinekater
Thomas Breitkreuz
Gruß Thomas
- Admin DelphiPRAXIS
- Admin Delphi-Treff
- Embarcadero MVP
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

Re: Was ist an diesem Statement falsch?

  Alt 10. Nov 2007, 10:29
Danke für die vielen Vorschläge. Ich habe es mittlerweile so gelöst wie in #23 angedeutet. Ist zwar nicht schön, funktioniert aber.
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
Antwort Antwort
Seite 3 von 3     123   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:05 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz