Как переключить sql-2005 Select Case при именовании T-sql?

select 
(Case Remark01
When 'l1' then type1
when 'l2' then type2
end) AS [?] --Remark .....want to switch name in here
from mytable

Пример ....

select 
(Case level
When 'l1' then type1 ('l1' mean check constant string)
when 'l2' then type2(('l2' mean check constant string))
end) AS (Case when 'l1' then [type01] Else [type02])
from mytable
select level,type1,type2 from mytable

Я использую две программы mytable
одна программа хочет отображать меню только type1 only
одна программа хочет отображать только меню type2 только
Я использую один вид, используя две программы ..

Вы можете более четко выразить это? Я не понял того, что ты хочешь сделать.

Nelson Reis 23.12.2008 12:50

Предположим, в вашем наборе результатов есть строки обоих типов, как тогда сервер sql назовет столбец?

Learning 23.12.2008 13:32
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
0
2
6 630
2

Ответы 2

Вы хотите динамически назвать столбец в строке? К сожалению, это невозможно. Однако, если у вас ровно одна строка, вы можете использовать динамический SQL EXEC (@sqlstring)

Но как тогда ваш клиент узнает, какое имя столбца ожидать?

Вне динамического SQL или для более чем одной строки вы можете передать имя как другой столбец ...

select
    Case level
      When 'l1' then type1
      when 'l2' then type2
   end AS columnvalue,
    Case level
      When 'l1' then type1
      when 'l2' then type2
   end AS outputcolumnname,
from
   mytable

когда этот оператор выполняет, мы можем получить два столбца ... Мне нужен один столбец ... из-за ... моей программы, использующей имя столбца таблицы, я могу получить значение данных таблицы .... но я не могу получить имя столбца таблицы ... это моя проблема

soe 23.12.2008 13:55

Вы не можете изменить имя столбца динамически

gbn 23.12.2008 14:04

Нет смысла менять имя столбца на строку. Сами строки не имеют собственных имен столбцов, в отличие от содержащего их набора данных.

Если, с другой стороны, вам нужно изменить имя столбца на основе вводимых данных, то проще всего будет просто дважды выбрать данные под двумя именами. НАПРИМЕР:

SELECT  col1 AS alias1,
        col1 AS alias2
FROM    myTable

Другие вопросы по теме