Announcement

Collapse
No announcement yet.

column_ alias Text einer Abfrage anhand einer Variable unterschiedlich ausgeben; T-SQ

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • column_ alias Text einer Abfrage anhand einer Variable unterschiedlich ausgeben; T-SQ

    Hallo,

    ich möchte gerne anhand einer Variablen die Ausgabe der Spaltenköpfe einer Ergebnistabelle unterschiedlich darstellen.

    Erklärung:
    Wenn man im Microsoft SQL Server Management Studio Express eine einfache Abfrage ausführt, sollen dei Spaltenköpfe der Ergenistabelle je nach Wert einer bestimmten Variablen in unterschiedlicher Sprache ausgegeben werden.

    Beispiel:
    declare @language as integer -- 0=deutsch; 1=englisch
    set @language=0 -- Wertzuweisung
    Select Code_country as Ländercode, country as Land, Reg as Region
    From Laender


    Das Ergebnis sieht dann folgendenmaßen aus:

    Ländercode Land Region
    DE Deutschland Europa
    IT Italien Europa
    US USA Nordamerika
    CA Kanada Nordamerika

    Jetzt möchte ich die Variable @language mit dem Befehl 'set @language=1' auf 1 setzten um die Ausgabe in Englisch umzustellen.
    Die Tabelleninhalte wie z.B. Germany, Europe usw. habe ich mit Übersetzungstabellen umgestellt, das funktioniert.


    Ich weiß nur nicht wie ich das script schreiben muss, damit der Ausgabekopf dann automatisch Country_Code, Country und Area ausgibt. Dazu müsste man doch in der Select Anweisung den 'AS' Wert (Column_alias) verändern. Ich hab das mal mit case when versucht, klappt aber nicht.

    Hat jemand eine Idee wir man das hinbekommt?
    Vielen Dank.

  • #2
    Vorweg. Globalisierung im SQL ist ziemlich daneben. Wenn nur irgend möglich mach es in der anzeigenden Anwendung.


    Ansonsten fällt mir nur ein das gesamte SQL über einen if auszutauschen. Ala

    [HIGHLIGHT=SQL]if(@@LANGUAGE = 'Deutsch')
    select 'Hallo' as Spalte1
    else
    select 'Hello' as Column1[/HIGHLIGHT]

    Comment


    • #3
      Hallo Ralf,

      vielen Dank für Deine Idee.
      Es ist zwar eine etwas umständliche Art und Weise das umzusetzten, denn immer wenn ich eine Abfrage anpassen muss, muss ich die Änderungen in beiden Select Anweisungen eintragen. Das Ziel ist aber erreicht.
      Danke nochmal.

      Comment

      Working...
      X