AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi SQL und berechnete Felder
Thema durchsuchen
Ansicht
Themen-Optionen

SQL und berechnete Felder

Ein Thema von Klaus D. · begonnen am 9. Dez 2004 · letzter Beitrag vom 13. Dez 2004
Antwort Antwort
Klaus D.

Registriert seit: 27. Okt 2003
Ort: 03238 Finsterwalde
124 Beiträge
 
Delphi 6 Professional
 
#1

SQL und berechnete Felder

  Alt 9. Dez 2004, 19:44
Moin
folgender SQL String:
Code:
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)
ich möchte jetzt nur noch 2 berechnete Felder mit ausgeben.
einmal SUM(Zeit * Lohn)
und dann die Gesamtsumme der Ergebnisse von Lohn und Zeit

soll ne Rechnung werden.
Danke im voraus
  Mit Zitat antworten Zitat
jensw_2000
(Gast)

n/a Beiträge
 
#2

Re: SQL und berechnete Felder

  Alt 9. Dez 2004, 20:03
Das Produkt aus Lohn * Zeit bekommst du so raus ...

SQL-Code:
  Select Stundenlohn * Arbeitszeit AS Lohnkosten
  FROM Tabelle
Die Gesamtsumme SUM(Lohnkosten) kannst du nur über eine Hilfsabfrage und einen SELECT UNION machen
lies dazu mal bitte folgenden Thread

Hier im Forum suchenbasteln einer sql abfrage
  Mit Zitat antworten Zitat
Klaus D.

Registriert seit: 27. Okt 2003
Ort: 03238 Finsterwalde
124 Beiträge
 
Delphi 6 Professional
 
#3

Re: SQL und berechnete Felder

  Alt 10. Dez 2004, 19:08
Danke
ist es auch möglich den Datentyp vom so erzeugten Feld 'Lohnkosten' im SQL-String festzulegen(Currency).
Danke
  Mit Zitat antworten Zitat
jensw_2000
(Gast)

n/a Beiträge
 
#4

Re: SQL und berechnete Felder

  Alt 10. Dez 2004, 19:13
Ja, schau dir mal SQL Funktionen Convert und CAST an.
  Mit Zitat antworten Zitat
Klaus D.

Registriert seit: 27. Okt 2003
Ort: 03238 Finsterwalde
124 Beiträge
 
Delphi 6 Professional
 
#5

Re: SQL und berechnete Felder

  Alt 10. Dez 2004, 20:03
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
  Mit Zitat antworten Zitat
jensw_2000
(Gast)

n/a Beiträge
 
#6

Re: SQL und berechnete Felder

  Alt 10. Dez 2004, 21:50
Sorry,

habe grade ein bisschen viel um die Ohren ...

Wenns rein zur Anzeige dienen soll kannst du das einfach so machen
SQL-Code:
SELECT Mitarbeiter,
       'EUR '+str(Nettopreis,9,2) AS 'NettoPreis',
       'EUR '+str(Nettopreis * 1.16 ,9,2) AS 'BruttoPreis'
FROM Tabelle
Wenn die Felder "echte currency" Felder sein müssen dann schau mal im MSDN nach CAST, CONVERT
  Mit Zitat antworten Zitat
jensw_2000
(Gast)

n/a Beiträge
 
#7

Re: SQL und berechnete Felder

  Alt 11. Dez 2004, 00:43
Ich denke du hast diesen Link schon gefunden...

http://msdn.microsoft.com/library/de...ca-co_2f3o.asp

Hier aber trotzdem noch 2 kurze Beispiele ...

Ausgabe als Text mit Währungskennzeichen
 str(Convert(smallmoney,Touren_View_RE.anf_NettoPreis,0),10,2) AS NettoPreis +'EUR '
Ausgabe als Currency ohne Währungskennzeichen
 Convert(smallmoney,Touren_View_RE.anf_NettoPreis,0) AS NettoPreis
  Mit Zitat antworten Zitat
Klaus D.

Registriert seit: 27. Okt 2003
Ort: 03238 Finsterwalde
124 Beiträge
 
Delphi 6 Professional
 
#8

Re: SQL und berechnete Felder

  Alt 12. Dez 2004, 17:10
Moin
Code:
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)
ich möchte alle zurückgegebenen Kosten addieren.
Code:
,SUM((RE.Zeit * LO.LOHN) AS Kosten)
geht nicht.
ich brauche eigentlich nur ein einziges Ergebnis..die Gesamtsumme von 'Kosten'welches ich
dann in ein Currency-Format convertieren möchte.
MfG...Klaus
  Mit Zitat antworten Zitat
jensw_2000
(Gast)

n/a Beiträge
 
#9

Re: SQL und berechnete Felder

  Alt 12. Dez 2004, 20:51
SQL-Code:
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
So hast du nur eine einzige Spalte "Kosten" mit einem Record der das Ergebnis SUMME aller Zeitem * SUMME aller
Lohnkosten enthält.
Den Wert kannst du dann via Convert in das gewünschte Format bringen ...

  Mit Zitat antworten Zitat
Hasse

Registriert seit: 24. Sep 2004
Ort: Bad Kösen
35 Beiträge
 
Delphi 7 Professional
 
#10

Re: SQL und berechnete Felder

  Alt 13. Dez 2004, 06:51
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.

Hasse
  Mit Zitat antworten Zitat
Antwort Antwort


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 15:56 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