AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Feld "Brutto-Betrag" aus einer von 3 möglichen Tabellen anzeigen
Thema durchsuchen
Ansicht
Themen-Optionen

Feld "Brutto-Betrag" aus einer von 3 möglichen Tabellen anzeigen

Ein Thema von erich.wanker · begonnen am 21. Dez 2015 · letzter Beitrag vom 21. Dez 2015
Antwort Antwort
Benutzerbild von erich.wanker
erich.wanker

Registriert seit: 31. Jan 2008
Ort: im schönen Salzburger Land
464 Beiträge
 
Delphi XE4 Professional
 
#1

AW: Feld "Brutto-Betrag" aus einer von 3 möglichen Tabellen anzeigen

  Alt 21. Dez 2015, 14:55
Hallo DeddyH & MrSpock ..

Leider kann ich die Struktur nicht ändern ...


Hallo haentschman ..

Die 3 verschiedenen Leistungstabellen sind schon gegeben ..

in der "ENTSCHAEDIGUNG" sind zusätzlich viele Felder betreffend "Konsumentenpreis-Indexanpassung"
in der "UMSATZBETEILIGUNG" sind zusätzlich viele Feldber betreffend Zeiträume, Minimalbeträge, Umsatz% .
in der "FREIKARTEN" sind zusätzlich viele Kartendaten .. berechtigte Personen ect ..

Was alle 3 "Leistungstabellen" gemeinsam haben sind: Brutto, Netto, MWst .. und diese Werte sollte ich in der "OVERVIEW" darstellen ..



ich hoffe ja immer noch dass eine sql-Abfrage mit tabellenname als variable ?? möglich ist ..
oder eine IIF mit fixen tabellennamen ?? ..

ThanX
Erich
Erich Wanker - for life:=1971 to lebensende do begin ..
O
/H\
/ \
  Mit Zitat antworten Zitat
jobo

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

AW: Feld "Brutto-Betrag" aus einer von 3 möglichen Tabellen anzeigen

  Alt 21. Dez 2015, 16:28
ich hoffe ja immer noch dass eine sql-Abfrage mit tabellenname als variable ?? möglich ist ..
oder eine IIF mit fixen tabellennamen ?? ..
Die Hoffnung stirbt zuletzt!
Ich befürchte für den ersten Teil muss man sehr alt werden, um es zu erleben.
Der 2.Teil wurde ja schon gelöst, hier noch eine Variante, mix aus 1. und 2. Vorschlag. Dabei geht es nur um Performance, nimm was am schnellsten läuft (und natürlichem "richtigsten").

Ansonsten möchte ich wie die anderen vor mir dringend raten, dieses Datenmodell ordentlich zu überarbeiten. Mit dem aktuellen kommst Du auf Dauer in Teufelsküche.

Code:
-- ungetestet
select x.*,
       case
         when tabellenname = 'ENTSCHAEDIGUNG'   then e.brutto
         when tabellenname = 'UMSATZBETEILIGUNG' then u.brutto
         when tabellenname = 'FREIKARTEN'       then f.brutto
       end as brutto
  from OVERVIEW x
  left join (select ID, BRUTTO from entschaedigung) e
    on x.id = e.id
  left join (select ID, BRUTTO from freikarten) f
    on x.id = f.id
  left join (select ID, BRUTTO from umsatzbbeteiligung) u
    on x.id = u.id
/*where
  ... andere bedingungen..*/
Gruß, Jo
  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 07:24 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