dedlfix: SQL Select Spaltenname dynamisch

Beitrag lesen

Tach!

Leider geht das mit dem IF und ELSE und den Selects dazwischen so nicht.

"Geht so nicht" geht so nicht als Fehlerbeschreibung. Es darf schon etwas genauer sein, damit man weiß, woran es scheitert und wo/ob man da ansetzen kann.

Wie könnte man das erreichen?

Das Problem ist, dass man keine Query erstellen kann, die auf nicht vorhandene Felder zugreift. Die Syntax wird anscheinend nicht erst zur Laufzeit ausgewertet, so dass ein nicht vorhandenes Feld einen Fehler darstellt. Daraus folgt, dass man solche Syntax erst zur Laufzeit erzeugen darf. Und es sieht aus, als ob EXECUTE das leisten kann.

Andererseits ist das Tabellendesign fragwürdig, wenn mehr als die zwei Sprachen vorkommen können, und du das außerdem nicht in der Clientanwendung abfängst. Gleichartige Daten lassen sich besser untereinander in Zeilen statt nebeneinander in Spalten verwalten. Wenn es zu einem Datensatz etwas in mehreren Sprachen gibt, ist das eine 1:n-Beziehung, und das sollte man auch so modellieren.

dedlfix.