Einzelnen Beitrag anzeigen

waldforest

Registriert seit: 8. Mai 2005
366 Beiträge
 
Delphi XE3 Enterprise
 
#1

Abfrage mit dynamischen Spaltename

  Alt 13. Jul 2015, 12:29
Datenbank: Firebird • Version: 2.5 • Zugriff über: Zeos
Hallo,
gibt es eine Möglichkeit den Spaltennamen in einem SQL-Statement, welches ich in eine Query über SQL.loadfromfile( einlesen möchte dynamisch zu definieren .

Im konkreten Beispiel möchte das ich eine Auswertung über die letzte 6 Wochen starten und die KW in der Spaltenüberschrift sehen wollen.

Code:
SELECT
   ARTIKEL.ARTIKEL_ID,
   SUM( case when ORDERS.DATUM between dateadd( week , -1 , current_date ) and dateadd( week , -0 , current_date ) then ORD_ARTIKEL.ARTIKEL_MENGE else 0 end ) AS Anz_1,
SUM( case when ORDERS.DATUM between dateadd( week , -2 , current_date ) and dateadd( week , -1 , current_date ) then ORD_ARTIKEL.ARTIKEL_MENGE else 0 end ) AS Anz_2,
SUM( case when ORDERS.DATUM between dateadd( week , -3 , current_date ) and dateadd( week , -2 , current_date ) then ORD_ARTIKEL.ARTIKEL_MENGE else 0 end ) AS Anz_3,
SUM( case when ORDERS.DATUM between dateadd( week , -4 , current_date ) and dateadd( week , -3 , current_date ) then ORD_ARTIKEL.ARTIKEL_MENGE else 0 end ) AS Anz_4,
SUM( case when ORDERS.DATUM between dateadd( week , -5 , current_date ) and dateadd( week , -4 , current_date ) then ORD_ARTIKEL.ARTIKEL_MENGE else 0 end ) AS Anz_5,
SUM( case when ORDERS.DATUM between dateadd( week , -6 , current_date ) and dateadd( week , -5 , current_date ) then ORD_ARTIKEL.ARTIKEL_MENGE else 0 end ) AS Anz_6,

FROM
   ORDERS
   INNER JOIN ARTIKEL
    ON ORDERS.ARTIKEL_ID = ARTIKEL.ARTIKEL_ID
WHERE
   ORDERS.Datum BETWEEN dateadd(week,-6,current_date)and dateadd(week,-1,current_date)
GROUP BY
   ARTIKEL.ARTIKEL_ID,
mfg wf
  Mit Zitat antworten Zitat