Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.12.2016, 08:41   #1
komarov90
Новичок
Джуниор
 
Регистрация: 13.12.2016
Сообщений: 7
По умолчанию Помогите с запросом в SQL

Всем доброго дня. Помогите решить проблему:
Есть база данных с таблицей diagnz в ней есть столбцы tkey - код пациента ds -диагноз ds_har -характер заболевания,и datesave- дата сохранения. У одного пациента может быть три строки с одинаковым диагнозом.

Надо сделать запрос. который в поле ds_har поставит число 3 только для первой записи, а в остальных строках если есть в поле ds_har число 3, то заменить его на 0
komarov90 вне форума Ответить с цитированием
Старый 13.12.2016, 08:56   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Что такое первая запись с точки зрения SQL-запроса?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 13.12.2016, 09:13   #3
komarov90
Новичок
Джуниор
 
Регистрация: 13.12.2016
Сообщений: 7
По умолчанию

Та что сделана раньше по времени
komarov90 вне форума Ответить с цитированием
Старый 13.12.2016, 09:16   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

А если самые ранние даты совпадают? Гарантии то нет. И что такое в поле ds_har поставит число 3 - запрос на обновление с затиранием всех данных, которые были в этом поле? Поиграйся с таким запросом, может что и выудишь с него. Синтаксис MS SQL
Код:
select P.tkey,P.ds,P.datesave,CASE WHEN P.datesave=U.datesave THEN U.CountRec ELSE 0 END AS CountRec
  from diagnz P,(SELECT T.tkey,T.ds,MIN(T.datesave) AS datesave,COUNT(*) AS CountRec FROM diagnz T GROUP BY T.tkey,T.ds) U
  WHERE P.tkey=U.tkey AND P.ds=U.ds
  ORDER BY P.tkey,P.ds,P.datesave
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 13.12.2016 в 09:32.
Аватар вне форума Ответить с цитированием
Старый 13.12.2016, 09:18   #5
komarov90
Новичок
Джуниор
 
Регистрация: 13.12.2016
Сообщений: 7
По умолчанию

Да. Т.е. в самой первой записи поставить 3 а в остальных 0
komarov90 вне форума Ответить с цитированием
Старый 13.12.2016, 09:31   #6
komarov90
Новичок
Джуниор
 
Регистрация: 13.12.2016
Сообщений: 7
По умолчанию

Разъясните по запросу, пожалуйста. У меня ошибку выдает "P"."USER_DATE": invalid identifier
komarov90 вне форума Ответить с цитированием
Старый 13.12.2016, 09:31   #7
komarov90
Новичок
Джуниор
 
Регистрация: 13.12.2016
Сообщений: 7
По умолчанию

А ели это убрать то появляется столбец countrec, что он означает?
komarov90 вне форума Ответить с цитированием
Старый 13.12.2016, 09:32   #8
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

То думал об одном, писал другое. Замени на datesave. Запрос подправил
Цитата:
countrec
Это твое 3 для "первой" записи и 0 для остальных
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 13.12.2016, 09:42   #9
komarov90
Новичок
Джуниор
 
Регистрация: 13.12.2016
Сообщений: 7
По умолчанию

tkey ds datesave "countrec"
105001000128406 K51.9 09-SEP-16 1

Вот что вышло(но таких записей много) и countrec от 0 до 5 проскакивает.
Что это означает?
komarov90 вне форума Ответить с цитированием
Старый 13.12.2016, 09:47   #10
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
Что это означает
То, что спрашивал
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с SQL запросом. Mat Bourn Помощь студентам 15 21.05.2015 20:51
Помогите с запросом MS SQL Goldcoding SQL, базы данных 5 04.01.2010 19:39
Помогите с SQL-запросом FleshDro SQL, базы данных 15 28.07.2009 13:32
SQL. Помогите с запросом. fluxion БД в Delphi 2 27.12.2007 08:01
Помогите с SQL запросом. Monoflextor БД в Delphi 12 29.04.2007 16:53