Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Помогите составить запрос  [new]
Smekalisty
Member

Откуда: Moldova
Сообщений: 40
Здравствуйте

Запрос создает 4 колонки и возвращает много записей, в WHERE можно пофильтровать что-нибудь по первым 3 колонкам

SELECT 
     [als1].[Id]
    ,[als2].[Name] AS COLUMN_NAME_1
    ,[als2].[Id] AS COLUMN_NAME_2
    ,(
     SUBSTRING((SELECT '_x_ ' + ISNULL(CAST([Name] AS VARCHAR(MAX)), '')
     FROM PRICE_TABLE
          INNER JOIN INTERMEDIATE_TABLE j
               ON j.IM_ID = PRICE_TABLE.[Id]
     WHERE j.SCR_Id = als1.[Id] FOR XML PATH('')
), 3, 5)) AS COLUMN_NAME_3

FROM
SALARY_TABLE als1
     LEFT OUTER JOIN TABLE_EMPLOYEE als2 ON  als2.Id = 1

WHERE [als1].[Id] = 1 OR [als2].[Name] LIKE '%anna%'


Скажите, может быть можно как-то обернуть результат 4 колонки (где INTERMEDIATE_TABLE) так, чтобы в WHERE можно было сослаться на это колонку и пофильтровать

к примеру:

WHERE [als1].[Id] = 1 OR [als2].[Name] LIKE '%anna%' OR COLUMN_NAME_3 = 100


Спасибо за время :)
4 июл 12, 19:28    [12818526]     Ответить | Цитировать Сообщить модератору
 Re: Помогите составить запрос  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
select
  a.*
from (
SELECT 
     [als1].[Id]
    ,[als2].[Name] AS COLUMN_NAME_1
    ,[als2].[Id] AS COLUMN_NAME_2
    ,(
     SUBSTRING((SELECT '_x_ ' + ISNULL(CAST([Name] AS VARCHAR(MAX)), '')
     FROM PRICE_TABLE
          INNER JOIN INTERMEDIATE_TABLE j
               ON j.IM_ID = PRICE_TABLE.[Id]
     WHERE j.SCR_Id = als1.[Id] FOR XML PATH('')
), 3, 5)) AS COLUMN_NAME_3

FROM
SALARY_TABLE als1
     LEFT OUTER JOIN TABLE_EMPLOYEE als2 ON  als2.Id = 1
) a
WHERE a.[Id] = 1 OR a.COLUMN_NAME_1 LIKE '%anna%' OR a.COLUMN_NAME_3 = 100
4 июл 12, 19:32    [12818556]     Ответить | Цитировать Сообщить модератору
 Re: Помогите составить запрос  [new]
Smekalisty
Member

Откуда: Moldova
Сообщений: 40
Снова спасибо Сергей
5 июл 12, 10:19    [12820363]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить