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

Откуда:
Сообщений: 110
Есть связь многие ко многим. В табл1 должно быть поле, в котором через запятую перечисляются данные из нескольких соответствующих полей табл2.
[табл1табл2] - это таблица связывающая табл1 и табл2
SELECT [табл2].[нужные данные]
FROM [табл2] LEFT JOIN [табл1табл2]
ON [табл2].[идТ2] = [табл1 табл2].[идТ2]
WHERE [табл1 табл2].[идТ1] = текущий идТ1
На самом деле у меня 2 вопроса:
1. Я не знаю что написать вместо "текущий идТ1"(
2. Как теперь список "нужных данных" переписать в вычисляемое поле?
29 июн 09, 14:32    [7354778]     Ответить | Цитировать Сообщить модератору
 Re: SELECT в вычисляемом поле  [new]
faustrash
Member

Откуда:
Сообщений: 110
ну или подскажите как процедуру можно запустить в вычисляемом поле. Если процедура будет принимать текущий ид и возвращать строку с соответствующими данныма?
29 июн 09, 14:56    [7354930]     Ответить | Цитировать Сообщить модератору
 Re: SELECT в вычисляемом поле  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
create table t1(id int)
create table t2(t1_id int, name varchar(10))

insert into t1(id)
select 1 union all
select 2

insert into t2(t1_id, name)
select 1, 'item1_1' union all
select 1, 'item1_2' union all
select 2, 'item2_1'
go
create function f1(@t1_id int) returns varchar(63) as
begin
   declare @s varchar(63)
   set @s = null

   select @s = isnull(@s + ', ' + name, name)
     from t2
    where t1_id = @t1_id
   
   return @s
end
go
alter table t1 add computed_field as dbo.f1(id)
go
select * from t1
go
drop table t2
drop table t1
drop function f1
go


id          computed_field
----------- ---------------------------------------------------------------
1           item1_1, item1_2
2           item2_1

(2 row(s) affected)
29 июн 09, 15:34    [7355162]     Ответить | Цитировать Сообщить модератору
 Re: SELECT в вычисляемом поле  [new]
faustrash
Member

Откуда:
Сообщений: 110
Спасибо:)
29 июн 09, 16:19    [7355444]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить