Zum Inhalt springen

SQL auf DB/2: Datum in Spaltenname automatisch aktualisieren


Empfohlene Beiträge

Geschrieben

Hi

ich hab hier gerade eine interessante Aufgabenstellung.

Ich erstelle eine Liste die etwa so aussehen soll:

select substr(produktname,1,15) as Produktname, preis, SUM ( CASE WHEN (ereignis_art = 'login' and month(datum) = month(current date)-1) THEN 1 ELSE 0 END ) as Monat FROM liste GROUP BY substr(produktname,1,15);

Produktname Preis Monat

-------------- -------- -----------------

Mein Problem ist die Spalte Monat. Denn dieser Spaltenname soll sich automatisch an den Monat anpassen, also z.B. "April" heißen.

Ich hab eine Tabelle in der das Datum drin ist, jedoch kenn ich keine Lösung um den Spaltenname vatiabel zu machen.

Kann mir da jemand helfen??

Vielen Dank :-)

mmax

Geschrieben

Ich erstelle eine Liste die etwa so aussehen soll:

select substr(produktname,1,15) as Produktname, preis, SUM ( CASE WHEN (ereignis_art = 'login' and month(datum) = month(current date)-1) THEN 1 ELSE 0 END ) as Monat FROM liste GROUP BY substr(produktname,1,15);

Mein Problem ist die Spalte Monat. Denn dieser Spaltenname soll sich automatisch an den Monat anpassen, also z.B. "April" heißen.

Hi!

Kannst du evtl. bei der Funktion "month" noch eine Formatierung mit Format hinzunehmen? So was wie "mmm Die ersten drei Buchstaben des Monats (Jan bis Dez)" oder "mmmm Vollständiger Name des Monats (Januar bis Dezember)"

ipu

Geschrieben

in einem Script würde das gehen, automatisch in SQL geht das nicht. Macht aber auch bei näherem hinschauen einfach keinen Sinn. Schliesslich sind spaltennamen den einträgen entsprechend gewählt und nicht umgekehrt.

vielleicht geht es damit ?


.. Produktname, preis, (case month(datum) when Jan then 'Januar' when Feb then 'Februar' ...


Geschrieben

@ipu

Mach mal n kleines Beispiel :-)

select substr(produktname,1,15) as Produktname, preis, [red]SUM ( CASE WHEN (ereignis_art = 'login' and month(datum) = month(current date)-1) THEN 1 ELSE 0 END ) as Monat FROM liste GROUP BY substr(produktname,1,15);

@baba007

Der rote Bereich zählt lediglich die Häufigkeit der Logins. Also ich bekomm Zahlen zwischen 0 - 300 zurück.

Ich will quasi nur die Überschrift (der fette rote Bereich) dynamisch machen. Dass wenn ich diese Auswertung im April "anstoße", das da auch April steht.

Ich stelle mir da sowas wie ne Variable vor (anstatt das as Monat) die ich immer neu definier.

Geschrieben

Ich will quasi nur die Überschrift (der fette rote Bereich) dynamisch machen. Dass wenn ich diese Auswertung im April "anstoße", das da auch April steht.

Sorry, das hatte ich eben falsch verstanden. Nein, das geht dann nicht direkt mit/in SQL.

Ich stelle mir da sowas wie ne Variable vor (anstatt das as Monat) die ich immer neu definier.

Ich kenne mich mit mit DB/2 nicht aus, aber das klingt logisch. Und vielleicht kannst du ja da mit Format() arbeiten (nein, ich gebs noch nicht auf! :) ).

ipu

Geschrieben

@baba007

Das wird nachher in einer Datei.sql gespeichert, und per Scipt einmal monatlich automatisch angestoßen.

Das Teil läuft also auf der DB/2 Datenbank, und wird mit einem Unix- Befehl zum leben erweckt :-)

Geschrieben

dann führe es mit einem parameter aus. und der parameter ist der aktuelle Monat

date "+%b" gibt den Monat aus Apr oder %B für April

machmalmeinsqlscript (date "+%B") sollte glaube ich klappen

Geschrieben

Frage:

Wie berücksichtige ich das im SQL Code?

Die Anweisung um die Auswertung anzustoßen sieht etwa so aus:

db2 -vtf select_liste

Wäre dein Vorschlag dann dieser?

db2 -vtf %B select_liste

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...