Einzelnen Beitrag anzeigen

jobo

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

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