Разделите результаты на категории, используя выражение LIKE - PullRequest
2 голосов
/ 23 ноября 2010

Когда я запускаю запрос «ВЫБРАТЬ имя, возраст, город из контактов», я получаю несколько сотен строк.

Я хочу разделить результаты после выполнения запроса, как это

**Name  Age   Status**
ABC   12    Young
DFD   14    Young
JGH   19    Mature
ITR   18    Mature
DLE   29    Adult
MJE   23    Adult

Здесь поле Status вычисляется в зависимости от возраста, например:

Возраст> = 12 и <16 Статус = Молодой <br> Возраст> = 16 и <22 Статус = зрелый <br> Возраст> = 23 и <35 Статус = Взрослый </p>

и т. Д.

Как использовать наилучший запрос для получения результата, если он выполняется на нескольких сотнях строк

Обновление: я также хочу знать, что вместо числового (Age), если бы мне пришлось использовать это в строковом поле, используя оператор LIKE, как бы я это сделал?

Ответы [ 2 ]

1 голос
/ 23 ноября 2010

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

Пример взят из MSDN:

USE AdventureWorks2008R2;
GO
SELECT   ProductNumber, Name, 'Price Range' = 
      CASE 
         WHEN ListPrice =  0 THEN 'Mfg item - not for resale'
         WHEN ListPrice < 50 THEN 'Under $50'
         WHEN ListPrice >= 50 and ListPrice < 250 THEN 'Under $250'
         WHEN ListPrice >= 250 and ListPrice < 1000 THEN 'Under $1000'
         ELSE 'Over $1000'
      END
FROM Production.Product
ORDER BY ProductNumber ;
GO
0 голосов
/ 23 ноября 2010

вы можете использовать CTE

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...