Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi View's über 2 Tabellen und Kartesisches Produkt (https://www.delphipraxis.net/37618-views-ueber-2-tabellen-und-kartesisches-produkt.html)

Klaus D. 8. Jan 2005 17:09

Re: View's über 2 Tabellen und Kartesisches Produkt
 
Code:
SELECT ARBEITSDATUM as Datum
     , Rechnung_NR as Buchungstext
     , SUM(tbl_Rechnung.ZEIT * tbl_Lohn.LOHN) AS Einnahmen
  FROM tbl_Rechnung

Inner JOIN  tbl_Lohn
        ON  tbl_Rechnung.SID_LOHN = tbl_Lohn.ID

WHERE MONTH (ARBEITSDATUM ) = 01
   AND YEAR (ARBEITSDATUM ) = 2005

union all
SELECT Datum
     , Material as Buchungstext
     , Einlagen as Einnahmen
  FROM tbl_Kosten
WHERE MONTH (datum) = 01
   AND YEAR (datum) = 2005
ohne SUM und Join klappt alles

MfG...Klaus
Ps: nicht das ihr denkt ich mach es mir hir aber einfach,habe hir 3Bücher zu liegen(nur SQL).
aber die besten Antworten finde ich halt im Forum. Danke

Jelly 8. Jan 2005 17:17

Re: View's über 2 Tabellen und Kartesisches Produkt
 
Da Sum eine Aggregat-Funktion ist, mußt du nach den restlichen Feldern gruppieren:
SQL-Code:
SELECT ARBEITSDATUM as Datum
     , Rechnung_NR as Buchungstext
     , SUM(tbl_Rechnung.ZEIT * tbl_Lohn.LOHN) AS Einnahmen
  FROM tbl_Rechnung

Inner JOIN  tbl_Lohn
        ON  tbl_Rechnung.SID_LOHN = tbl_Lohn.ID

WHERE MONTH (ARBEITSDATUM ) = 01 
   AND YEAR (ARBEITSDATUM ) = 2005 
GROUP BY Datum, Rechnung_NR

union all
SELECT Datum
     , Material as Buchungstext
     , Einlagen as Einnahmen
  FROM tbl_Kosten
WHERE MONTH (datum) = 01 
   AND YEAR (datum) = 2005

Klaus D. 9. Jan 2005 15:12

Re: View's über 2 Tabellen und Kartesisches Produkt
 
Ich noch mal...Hallo
bin nun tüchtig am SQL üben.
folgenden Versuch:
Code:
SELECT RE.Arbeitsdatum_Von
      ,RE.Arbeitsdatum
      ,RE.Rechnung_Nr
      ,RE.Man_Leistung
      ,RE.Man_Leistung_Memo
      ,RE.Zeit
      ,RE.Preis
      ,LE.Leistung
      ,SUM(Zeit * Preis) as Gesamt
  FROM  tbl_Rechnung RE

 Inner JOIN  tbl_Leistung LE
         ON  RE.SID_Leistung = LE.ID

      WHERE  RE.SID_Rechnung_NR =:ID
klappt natürlich nicht. muß ich wieder mit GROUP BY arbeiten? und wo muß es eigentlich stehen
MfG...Klaus


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:47 Uhr.
Seite 3 von 3     123   

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