2012-06-10 4 views
0

Я хочу иметь столбец в таблице, который вычисляет значение в зависимости от другого столбца в той же таблице.Столбец таблицы SQL, который использует ввод из другого столбца в той же таблице

Например, у меня есть «действительность» таблицы со столбцами «DateManufactured», «DateExpires» Даты Истекает столбец должен вычислить значение предположит, добавляя 30 дней для Datemanufactured. Как мы можем сделать это в визуальной Studio2010-> DataSet Дизайн-> DataTable столбцы> свойства-> Выражение См релевантного изображение here

Что может быть возможным выражение для этого в терминах SQL Server выражений? Пожалуйста, предложите оптимальное решение.

Заранее спасибо.

+2

Если 'DateExpires' является _always_ через 30 дней после' DateManufactured' то, возможно, вы не должны хранить его. Поиск «нормализации базы данных» должен поставить вас на лучший трек. – HABO

ответ

0
select dateadd(day,30,getdate()) 

это займет текущую дату (GETDATE()) добавить 30 дней к нему.

+0

Это не мое требование Рузбе. Пожалуйста, внимательно прочитайте обновленный вопрос и посмотрите изображение, помещенное в ссылку. – viento

0

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

Create Procedure InsertValidity 
(
    @City varchar(20), 
    @Area varchar(20), 
    ... 
    @DatePosted datetime, 
    ... 
    @UserID 
) 

as 

declare @DurationFrom datetime 
set @DurationFrom = (select DATEADD(dd,30,@DatePosted) 

insert into Validity (City, Area, ..., DatePosted, ... UserID) 
values(@City, @Area, ..., @DatePosted,[email protected],[email protected]) 

Это должно решить вашу проблему. Просто заполните сценарий, заменив ... вашими другими данными, а затем запустите сохраненный процесс в вашем приложении.

Благодаря J

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