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

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

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.12.2009, 08:01   #1
GX_h10
Пользователь
 
Регистрация: 20.04.2009
Сообщений: 28
По умолчанию Сравнение данных

В БД (MS SQL) есть две таблицы:

1.Sprav (Справочник по замерам):
Код:
  id_zamer [int],
  name_zamer [varchar], -- наименование замера
  interv [varchar],  -- интервал замера("не более" или "не менее")
  norm [float]  -- норматив замера

2.Kontrol (Данные полученные в ходе замеров):
Код:
  id [int],
  name_zamer [varchar], -- наименование замера 
  val [float] -- данные замера

В отчете нужно вывести количество отклонений от нормы.
Как сделать, чтобы в зависимости от интервала шел подсчет отклонений? Т.е., сравнивать числа в зависимости от поля 'interv'.
К примеру: если интервал норматива(Sprav): не более 0,02, а замер(Kontrol): 0,01 - то отклонений нет. А если: 0,03 - отклонение есть.

Примечание: в поле 'interv' значения именно в виде "не более" или "не менее", а не ">" или "<"

Последний раз редактировалось GX_h10; 29.12.2009 в 08:06.
GX_h10 вне форума Ответить с цитированием
Старый 29.12.2009, 12:49   #2
GX_h10
Пользователь
 
Регистрация: 20.04.2009
Сообщений: 28
По умолчанию

Сам решил. Вот, может пригодится кому:

Код:
SELECT k.name_zamer, count(k.id)
FROM Kontrol k LEFT JOIN Sprav s ON k.name_zamer = s.name_zamer 
WHERE (case when s.interv = 'не более' then  
            case when k.val > s.norm then 1 else 0 end
                  when s.interv = 'не менее' then  
            case when k.val < s.norm then 1 else 0 end
                  when isnull(s.interv,-1) = -1 then 0 end) = 1
GROUP BY k.name_zamer
GX_h10 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сравнение данных ячеек с таблицой webstar Microsoft Office Excel 3 06.12.2009 12:16
Сравнение данных в екселе Петров Microsoft Office Excel 2 28.04.2009 11:50
Сравнение данных Terikon Общие вопросы Delphi 21 14.04.2009 19:56
Сравнение данных White БД в Delphi 1 09.09.2008 22:32
Сравнение и перенос данных miheus Microsoft Office Excel 1 29.11.2007 16:42