Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Результат выполнения select-a в другой запрос  [new]
Димок9802
Guest
Прошу помощи
есть запрос вида select ID_WW from WW (WW - функция,возвращающая табличное значение )
c результатом столбец данных типа int
далее по каждому значению сделать другой запрос
select * from Point(тут по каждому ID_WW из предыдущего запроса)
как такое построить?
17 май 12, 14:55    [12570488]     Ответить | Цитировать Сообщить модератору
 Re: Результат выполнения select-a в другой запрос  [new]
is_me
Member

Откуда: Нижний Новгород
Сообщений: 165
Димок9802
Прошу помощи
есть запрос вида select ID_WW from WW (WW - функция,возвращающая табличное значение )
c результатом столбец данных типа int
далее по каждому значению сделать другой запрос
select * from Point(тут по каждому ID_WW из предыдущего запроса)
как такое построить?


SELECT p.*
FROM point AS p  CROSS APPLY WW() AS w
where p.значние1 = w.значение2
17 май 12, 15:04    [12570599]     Ответить | Цитировать Сообщить модератору
 Re: Результат выполнения select-a в другой запрос  [new]
SomewhereSomehow
Member

Откуда: Moscow
Сообщений: 2480
Блог
Димок9802,

--смотря что надо, мож как-нибудь так
select  * from Point p join dbo.uf_MyFunction() f on f.ID_WW = p.ID_WW
--или так
select * from Point p where exists (select * from dbo.uf_MyFunction() f where f.ID_WW = p.ID_WW)
--или так
select * from Point p where p.ID_WW in (select f.ID_WW from dbo.uf_MyFunction() f)
17 май 12, 15:07    [12570646]     Ответить | Цитировать Сообщить модератору
 Re: Результат выполнения select-a в другой запрос  [new]
Димок9802
Guest
забыл сказать что это не таблицы а функции, возвращающие табличное значение
на входе требует параметр.
17 май 12, 15:09    [12570687]     Ответить | Цитировать Сообщить модератору
 Re: Результат выполнения select-a в другой запрос  [new]
is_me
Member

Откуда: Нижний Новгород
Сообщений: 165
Димок9802
забыл сказать что это не таблицы а функции, возвращающие табличное значение
на входе требует параметр.


Смысл такой:
select * from (select 1 a1,2 a2) a cross apply (select 2 a1,3 a2) b where a.a2=b.a1


только вместо - (select 1 a1,2 a2) - первая функция с параметром,
вместо (select 2 a1,3 a2) - вторая функция с параметром
17 май 12, 15:16    [12570770]     Ответить | Цитировать Сообщить модератору
 Re: Результат выполнения select-a в другой запрос  [new]
SomewhereSomehow
Member

Откуда: Moscow
Сообщений: 2480
Блог
Димок9802,

Ну так подставьте требуемый параметр, ничего не мешает...
Если у вас в качестве параметра выступает колонка из таблицы, то apply, как сказали выше, если нет, то просто делайте из нее выборку как из обычной таблицы.
17 май 12, 15:17    [12570798]     Ответить | Цитировать Сообщить модератору
 Re: Результат выполнения select-a в другой запрос  [new]
Димок9802
Guest
спасибо, разобрался
17 май 12, 15:26    [12570904]     Ответить | Цитировать Сообщить модератору
 Re: Результат выполнения select-a в другой запрос  [new]
Димок9802
Member

Откуда:
Сообщений: 13
Приветствую
задачка усложнилась, как построить такой запрос, чтобы запускалась скалярная функция на входе которой резултьтат запроса "select ID_WW from WW (функция возвращающая табличное значение)" ?
18 май 12, 09:10    [12574303]     Ответить | Цитировать Сообщить модератору
 Re: Результат выполнения select-a в другой запрос  [new]
SomewhereSomehow
Member

Откуда: Moscow
Сообщений: 2480
Блог
Димок9802,

select dbo.uf_MyScalarFunction(ID_WW) from WW (функция возвращающая табличное значение)
18 май 12, 09:25    [12574365]     Ответить | Цитировать Сообщить модератору
 Re: Результат выполнения select-a в другой запрос  [new]
Димок9802
Member

Откуда:
Сообщений: 13
спасибо за помощь в освоении ! )
18 май 12, 09:36    [12574444]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить