Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите выбрать (select) 
V
    Опции темы
nitr
Дата 10.3.2006, 23:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2543
Регистрация: 10.2.2006
Где: Россия :)

Репутация: нет
Всего: 84



Здравствуйте!

Помогите выбрать, я неочень силён в формировании запросов для SQL smile вот что дано:
Код

k_gospi        k_bolez        k_lech         dat_n         dat_k
1              12             3              01.01.06      20.01.06
2              12             4              26.01.06      30.01.06
3              13             1              05.01.06      10.01.06   
4              14             1              10.01.06      15.01.06
5              15             3              03.01.06      10.01.06
6              15             4              12.01.06      15.01.06
7              16             5              17.01.06      26.01.06

Сколько k_bolez в периоде с 01.01.06 по 31.01.06 получили лечение (k_lech) 3 + 4? Только 3+4. не 3, не 4, а то и другое, оба. В результате запроса результат - 2


--------------------
PM   Вверх
Satana
Дата 11.3.2006, 00:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 564
Регистрация: 15.9.2004
Где: Ставрополь, СЗ ра йон

Репутация: нет
Всего: 5



ну если я понял правильно то так:
Код

select k_bolez, sum(k_lech) as kl from table1 where (dat_n>01.01.06  and dat_n<31.01.06) and kl=7 group by k_bolez



--------------------
 Работай на себя 
www.abalentsev.com - Сайт портфолио.
www.pokushau.ru - Рецепты со всего мира.
PM MAIL WWW ICQ   Вверх
HalkaR
Дата 11.3.2006, 00:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пуфыстый назгул
****


Профиль
Группа: Экс. модератор
Сообщений: 2132
Регистрация: 8.12.2002
Где: В Москве

Репутация: нет
Всего: 42




Код

SELECT COUNT(
 SELECT k_bolez
 FROM table t1
 WHERE  (3,4) IN (SELECT k_lech FROM table t2 WHERE t2.k_bolez=t1.k_bolez AND
 t2.dat_n>date1 AND t2.dat_k<date2)
)
или
SELECT COUNT(
 SELECT k_bolez
 FROM table t1
 WHERE
 exists(SELECT k_lech FROM table t2 WHERE t2.k_bolez=t1.k_bolez AND
 t2.dat_n>date1 AND t2.dat_k<date2 AND k_lech=3) AND
 exists(SELECT k_lech FROM table t2 WHERE t2.k_bolez=t1.k_bolez AND
 t2.dat_n>date1 AND t2.dat_k<date2 AND k_lech=4)
)
не тестил, так что не гарантирую что заработает

Это сообщение отредактировал(а) HalkaR - 11.3.2006, 00:25
PM MAIL   Вверх
nitr
Дата 11.3.2006, 04:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2543
Регистрация: 10.2.2006
Где: Россия :)

Репутация: нет
Всего: 84



А у меня одна таблица, и что-то кричит он на COUNT, внутри которого select smile

Добавлено @ 04:23

СПАСИБО HalkaR, огромное, твоя мысль очень помогла
Код

SELECT COUNT(distinct t1.k_bolez)
 FROM bolez as t1
 WHERE
 exists(SELECT k_lech FROM gospi as t2 WHERE t1.k_bolez=t2.k_bolez AND
 t2.dat_k>='2006.01.01' AND t2.dat_k<='2006.31.01' AND k_lech=3) AND
 exists(SELECT k_lech FROM gospi as t2 WHERE t1.k_bolez=t2.k_bolez AND
 t2.dat_k>='2006.01.01' AND t2.dat_k<='2006.31.01' AND k_lech=4)


Это сообщение отредактировал(а) nitr - 11.3.2006, 04:23


--------------------
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS SQL"
Akina

Akina

Запрещается!

Публиковать ссылки и обсуждать взлом чего бы то ни было.

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы составления неспецифических запросов рассматриваются здесь
  • Используйте теги [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS SQL Server | Следующая тема »


 




[ Время генерации скрипта: 0.0406 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.