2010-07-22 2 views
0

мой запрос возвращает столбец, который может содержать типы недвижимости. Значения могут быть кондо или дуплекс или дом и так далее. Вместо того, чтобы отображать кондоминиум, я просто хочу, чтобы в столбце был C. Мой план состоял в том, чтобы использовать огромный случай/когда структура охватывала все случаи, есть ли более простой способ? Просто отображение первой буквы в верхнем регистре не работает, кстати, потому что иногда это правило нельзя применять для создания короткого кода. Дуплекс, например, является DE ...Вопрос в колонке столбца SQL/строки

Спасибо :-)

ответ

2

Helper стола с колонками для каждой стенографии сопрягая длинную строку?

3

Если вы не хотите использовать оператор CASE, как создать таблицу поиска, чтобы сопоставить значение столбца с кодом поиска, который вы хотите. Присоединяйтесь к этому в своем запросе.

NB - Стоит только рассмотреть вопрос о том, выполняется ли ваш запрос на довольно небольшом наборе результатов или вы столкнетесь с проблемами производительности. Индексирование столбца поможет.

Некоторые другие варианты в зависимости от особенностей БД сервера:

  1. Используйте UDF, чтобы сделать преобразование.
  2. Вычислительная колонка в исходной таблице.
+0

Да, это как я пойду. См. Мой ответ на непонятный вопрос для обработанного примера: http://stackoverflow.com/questions/3254170/sql-server-setting-multiple-values-in-a-case-statement/3254467#3254467 –

0

Очевидным, что нужно сделать, это иметь другую таблицу, которая сопоставляет ваше значение с кодом, к которому вы можете присоединиться к своим результатам. Но это немного пахнет. Я хотел бы присоединиться к этой другой таблице значений ключа, а не строки (которые я предполагаю, не ключевые ценности)

0

Почему бы вам не использовать decode функцию в SQL

select decode(your_column_name,"condo","C",your_column_name) from table 
+0

Потому что он точно так же, как структура CASE, но несколько менее понятна для программистов. –

+0

, если вы получаете результат в простой способ, то почему мы не должны этого делать? .. и его программисты makea жизнь легко – Vijay

Смежные вопросы