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

Откуда:
Сообщений: 14
ребят помогите пожалуйста мне определить средний возрост пациента))
5 дек 09, 20:31    [8024524]     Ответить | Цитировать Сообщить модератору
 Re: помогите((  [new]
iljy
Member

Откуда:
Сообщений: 8711
Яна91,

ну если на глаз - примерно 18 Хотите точнее - выкатывайте исходные данные, структуры таблиц и т.п
5 дек 09, 20:37    [8024531]     Ответить | Цитировать Сообщить модератору
 Re: помогите((  [new]
Яна91
Member

Откуда:
Сообщений: 14
iljy,
вообще то,мне 19,я просто ошиблась)))))
а как мне просто написать данные таблицы и все?)
5 дек 09, 20:47    [8024541]     Ответить | Цитировать Сообщить модератору
 Re: помогите((  [new]
iljy
Member

Откуда:
Сообщений: 8711
Яна91,

Рекомендации по оформлению сообщений в форуме
5 дек 09, 20:54    [8024555]     Ответить | Цитировать Сообщить модератору
 Re: помогите((  [new]
Яна91
Member

Откуда:
Сообщений: 14
iljy,

честно сказать,я мало чего там поняла((((((((
напишу так: таблица называется паиенты,поля:код_отделения,код_больницы,код_пациента,ФИО,
дата_рождения,дата_поступления,диагноз.
5 дек 09, 21:04    [8024569]     Ответить | Цитировать Сообщить модератору
 Re: помогите((  [new]
iljy
Member

Откуда:
Сообщений: 8711
Яна91,

А возраст как считается? На сегодняшнюю дату или на дату поступления? Впрочем вот примерный вариант
select avg(cast(DATEDIFF(yy, d1, d2) - isnull(nullif(SIGN(datepart(dy, d1) - datepart(dy,d2)),-1),0) as float)) from
(
	select [дата_рождения] d1,[дата_поступления] d2
	from [Пациенты]
)
Можно играться с типами для получения нужной точности. Возраст считается на дату поступления.
5 дек 09, 21:19    [8024582]     Ответить | Цитировать Сообщить модератору
 Re: помогите((  [new]
Яна91
Member

Откуда:
Сообщений: 14
iljy,

спаибо,только он пишет,что не хвтает какого то знака в 'avg(cast(DATEDIFF(yy, d1, d2) - isnull(nullif(SIGN(datepart(dy, d1) - datepart(dy,d2)),-1),0) as float)) '
5 дек 09, 21:23    [8024584]     Ответить | Цитировать Сообщить модератору
 Re: помогите((  [new]
iljy
Member

Откуда:
Сообщений: 8711
Яна91,

а точнее? Что именно он пишет? и заодно - результат select @@version
5 дек 09, 21:26    [8024586]     Ответить | Цитировать Сообщить модератору
 Re: помогите((  [new]
Яна91
Member

Откуда:
Сообщений: 14
iljy,
пропущен оператор в этом выражении
5 дек 09, 21:26    [8024587]     Ответить | Цитировать Сообщить модератору
 Re: помогите((  [new]
Яна91
Member

Откуда:
Сообщений: 14
iljy,

результат он не выдает,появляетс окошко где написано ,что ошибка синтаксиса,пропущен оператор в выражении запроса avg(cast(DATEDIFF(yy, d1, d2) - isnull(nullif(SIGN(datepart(dy, d1) - datepart(dy,d2)),-1),0) as float))
5 дек 09, 21:29    [8024590]     Ответить | Цитировать Сообщить модератору
 Re: помогите((  [new]
iljy
Member

Откуда:
Сообщений: 8711
Яна91,

версия сервера какая?
5 дек 09, 21:37    [8024602]     Ответить | Цитировать Сообщить модератору
 Re: помогите((  [new]
Яна91
Member

Откуда:
Сообщений: 14
iljy,

ммм...не знаю(((если вы про Access,то 2003
5 дек 09, 21:38    [8024604]     Ответить | Цитировать Сообщить модератору
 Re: помогите((  [new]
iljy
Member

Откуда:
Сообщений: 8711
Яна91,

вообще-то это форум по MS SQL, по Access есть другой форум. Попробуйте попросить модеров перенести топик туда, или просто сами там напишите.
5 дек 09, 21:47    [8024614]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить