AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Tabelle um Spalte erweitern und mit berechneten Werten füllen
Thema durchsuchen
Ansicht
Themen-Optionen

Tabelle um Spalte erweitern und mit berechneten Werten füllen

Ein Thema von RWarnecke · begonnen am 22. Jun 2015 · letzter Beitrag vom 24. Jun 2015
Antwort Antwort
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#1

AW: Tabelle um Spalte erweitern und mit berechneten Werten füllen

  Alt 23. Jun 2015, 11:01
Ansatz, baut auf meinem vorigen Beitrag auf...
SQL-Code:
select
t2.spalte2
,(select sum(ts.spalte3)
from tabelle1 ts
where ts.spalte1 < (t1.spalte1)
) as Summe
,t1.spalte3
from tabelle1 t1
left join tabelle2 t2 on (t2.spalte1 = t1.spalte2)
where t1.spalte2 = 'Wert1'
order by t1.spalte1
Ergebnis:
Code:
Spalte2  Summe   Spalte3
1500     <null>  310
1500     310      235
1500     545      310
nur das Ergebnis...
SQL-Code:
select
t2.spalte2 -
   (select sum(ts.spalte3) from tabelle1 ts where ts.spalte1 <= t1.spalte1)
from tabelle1 t1
left join tabelle2 t2 on (t2.spalte1 = t1.spalte2)
where t1.spalte2 = 'Wert1'
order by t1.spalte1
Das Prinzip sollte klar sein, den Rest bekommst du schon hin...

Geändert von ibp (23. Jun 2015 um 11:24 Uhr) Grund: Ergänzugen
  Mit Zitat antworten Zitat
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#2

AW: Tabelle um Spalte erweitern und mit berechneten Werten füllen

  Alt 23. Jun 2015, 11:35
für die ganze Tabelle... geht es auch mit einem Statement...

SQL-Code:
select
t1.spalte1,
t1.spalte2,
t1.spalte3,
t2.spalte2 -
   (select sum(ts.spalte3) from tabelle1 ts where (ts.spalte1 <= t1.spalte1) and (ts.spalte2=t1.spalte2))
as spalte4
from tabelle1 t1
left join tabelle2 t2 on (t2.spalte1 = t1.spalte2)
order by t1.spalte1
immer in Mengen denken
  Mit Zitat antworten Zitat
Benutzerbild von frankyboy1974
frankyboy1974

Registriert seit: 7. Apr 2015
Ort: SH
169 Beiträge
 
Delphi XE7 Professional
 
#3

AW: Tabelle um Spalte erweitern und mit berechneten Werten füllen

  Alt 23. Jun 2015, 12:24
hallo,

@idb
ich sehe in deiner Abfrage noch nicht einmal, wo irgendwelche Datensätze aktualisiert werden. Der TE wollte wissen, ob er mit einem SQL Statement, die Daten aktualisieren kann. Ohne es ausprobiert zu haben, würde ich sagen, das dein SQL-Statement auch noch nicht einmal die richtigen Werte liefert. Selbst wenn du dass anschliessend in der DB speichers (insert into select from).

Um deine Worte zu benutzen

immer erst überhaupt denken

mfg

frank
Java ist auch eine Insel.
Ist Delphi von Oracle?
In meiner Buchstabensuppen fehlt das C++!
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#4

AW: Tabelle um Spalte erweitern und mit berechneten Werten füllen

  Alt 23. Jun 2015, 13:01
immer erst überhaupt denken
Dieser Tipp ist natürlich unschlagbar!
Gruß, Jo
  Mit Zitat antworten Zitat
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#5

AW: Tabelle um Spalte erweitern und mit berechneten Werten füllen

  Alt 23. Jun 2015, 15:05
@frankyboy1974

ich gehe davon aus das Rolf Warnecke durchaus in der Lage ist die Transferleistung zu erbringen aus einer Select-Anweisung ein Update-Statement zu erstellen.
SQL-Code:
update tabelle1 ut1
set ut1.spalte4 =
(
select t2.spalte2 - (select sum(ts.spalte3) from tabelle1 ts where (ts.spalte1 <= t1.spalte1) and (ts.spalte2=t1.spalte2))
from tabelle1 t1
left join tabelle2 t2 on (t2.spalte1 = t1.spalte2)
where t1.spalte1 = ut1.spalte1
)
Des weiteren ist es anmaßend aus einem Verdacht heraus generell etwas als falsch darzustellen und dann auch noch beleidigende Aussagen zu treffen.

MfG IbP
  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 00:14 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-2025 by Thomas Breitkreuz