![]() |
SQL und berechnete Felder
Moin
folgender SQL String:
Code:
ich möchte jetzt nur noch 2 berechnete Felder mit ausgeben.
SELECT RE.ZEIT
,RE.ID ,LO.LOHN FROM tbl_REchnung RE INNER JOIN tbl_Lohn LO ON (RE.SID_LOHN = LO.ID) WHERE (RE.SID_Rechnung_NR =:ID) einmal SUM(Zeit * Lohn) und dann die Gesamtsumme der Ergebnisse von Lohn und Zeit soll ne Rechnung werden. Danke im voraus |
Re: SQL und berechnete Felder
Das Produkt aus Lohn * Zeit bekommst du so raus ...
SQL-Code:
Die Gesamtsumme SUM(Lohnkosten) kannst du nur über eine Hilfsabfrage und einen SELECT UNION machen
Select Stundenlohn * Arbeitszeit AS Lohnkosten
FROM Tabelle lies dazu mal bitte folgenden Thread ![]() |
Re: SQL und berechnete Felder
Danke
ist es auch möglich den Datentyp vom so erzeugten Feld 'Lohnkosten' im SQL-String festzulegen(Currency). Danke |
Re: SQL und berechnete Felder
Ja, schau dir mal SQL Funktionen Convert und CAST an.
|
Re: SQL und berechnete Felder
sehr wenig finde ich in meiner Literatur.
zu convert ein wenig zu CAST = null. ich suche weiter, hast mich ja in die richtige Richtung gelenkt. Danke...Klaus :zwinker: |
Re: SQL und berechnete Felder
Sorry,
habe grade ein bisschen viel um die Ohren ... Wenns rein zur Anzeige dienen soll kannst du das einfach so machen
SQL-Code:
Wenn die Felder "echte currency" Felder sein müssen dann schau mal im MSDN nach CAST, CONVERT
SELECT Mitarbeiter,
'EUR '+str(Nettopreis,9,2) AS 'NettoPreis', 'EUR '+str(Nettopreis * 1.16 ,9,2) AS 'BruttoPreis' FROM Tabelle |
Re: SQL und berechnete Felder
Ich denke du hast diesen Link schon gefunden...
![]() Hier aber trotzdem noch 2 kurze Beispiele ... Ausgabe als Text mit Währungskennzeichen
SQL-Code:
str(Convert(smallmoney,Touren_View_RE.anf_NettoPreis,0),10,2) AS NettoPreis +'EUR '
Ausgabe als Currency ohne Währungskennzeichen
SQL-Code:
Convert(smallmoney,Touren_View_RE.anf_NettoPreis,0) AS NettoPreis
:hi: |
Re: SQL und berechnete Felder
Moin
Code:
ich möchte alle zurückgegebenen Kosten addieren.
ELECT RE.ZEIT
,RE.ID ,LO.LOHN ,RE.Zeit * LO.LOHN AS Kosten FROM tbl_REchnung RE INNER JOIN tbl_Lohn LO ON (RE.SID_LOHN = LO.ID) WHERE (RE.SID_Rechnung_NR =:ID)
Code:
geht nicht.
,SUM((RE.Zeit * LO.LOHN) AS Kosten)
ich brauche eigentlich nur ein einziges Ergebnis..die Gesamtsumme von 'Kosten'welches ich dann in ein Currency-Format convertieren möchte. MfG...Klaus |
Re: SQL und berechnete Felder
SQL-Code:
So hast du nur eine einzige Spalte "Kosten" mit einem Record der das Ergebnis SUMME aller Zeitem * SUMME aller
SELECT SUM(RE.ZEIT) * SUM(LO.LOHN) AS Kosten
FROM tbl_REchnung RE INNER JOIN tbl_Lohn LO ON RE.SID_LOHN = LO.ID WHERE RE.SID_Rechnung_NR =:ID Lohnkosten enthält. Den Wert kannst du dann via Convert in das gewünschte Format bringen ... :hi: |
Re: SQL und berechnete Felder
Moin, Moin
Code:
SELECT SUM(RE.ZEIT * LO.LOHN) AS Kosten
FROM tbl_REchnung RE INNER JOIN tbl_Lohn LO ON RE.SID_LOHN = LO.ID WHERE RE.SID_Rechnung_NR =:ID Besser So, dann rechnet die Abfrage die Kosten auch mit unterschielichen Stundensätzen richtig. :wink: Hasse |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz