Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
Bbbqqq Member Откуда: Сообщений: 49 |
Опять туплю и не могу понять что сделать. Допустим у нас имеется таблица. В ней поля id ,Мес открытия счета, Мес закрытия. К примеру. 1,01-01-2015,01,04,2015 2,01-02-2015,02-02-2015 Счёт может быть открыт в феврале и закрыи на след день. Надо вывести все счета активные за февраль месяц. Если даже он всего 1 день был активен Не прошу сделать за меня, дайте подсказку и буду сап копать, спасибо:) |
27 май 17, 12:31 [20516862] Ответить | Цитировать Сообщить модератору |
bideveloper Member Откуда: Сообщений: 517 |
IN? |
27 май 17, 13:20 [20516930] Ответить | Цитировать Сообщить модератору |
londinium Member Откуда: Киев Сообщений: 1193 |
Если я не туплю жестко в субботу, то как-то такDECLARE @InMonthFirstDate DATE; DECLARE @InMonthLastDate DATE; SELECT @InMonthFirstDate='20170201'; SELECT @InMonthLastDate='20170228'; WITH ACCOUNTS(ACCOUNT_ID,ACCOUNTOPENDATE,ACCOUNTCLOSEDATE) AS ( SELECT 1 ,CAST('20161231'AS DATE),CAST('20170125'AS DATE) UNION ALL SELECT 2,CAST('20170130'AS DATE),CAST('20170209'AS DATE) UNION ALL SELECT 3,CAST('20170201' AS DATE),CAST('20170228'AS DATE) UNION ALL SELECT 4,CAST('20170228'AS DATE),CAST('20170308'AS DATE) UNION ALL SELECT 5,CAST('20170215'AS DATE),CAST('20170509'AS DATE) UNION ALL SELECT 6,CAST('20170326'AS DATE),CAST('20171101'AS DATE) ) SELECT A.ACCOUNT_ID,A.ACCOUNTOPENDATE,A.ACCOUNTCLOSEDATE FROM ACCOUNTS A WHERE A.ACCOUNTOPENDATE<=@InMonthLastDate AND A.ACCOUNTCLOSEDATE>=@InMonthFirstDate |
27 май 17, 13:40 [20516952] Ответить | Цитировать Сообщить модератору |
Bbbqqq Member Откуда: Сообщений: 49 |
Разобрался, все гораздо проще. Теперь надо получить вот такое) К сообщению приложен файл. Размер - 70Kb |
27 май 17, 20:47 [20517359] Ответить | Цитировать Сообщить модератору |
Добрый Э - Эх
Guest |
Bbbqqq, ну так если разобрался и всё намного проще, то какие проблемы? |
29 май 17, 08:31 [20518899] Ответить | Цитировать Сообщить модератору |
Bbbqqq Member Откуда: Сообщений: 49 |
Ну первое задание сделал, осталось второе.скрин выше, что должно получится Разбить теперь по месяцам надо. договор 1,дата открытия 01.01.2015,закрытия 10.03.2015 И.е. Договор 1,месяц январь, был активен 30 дней Договор 1, февраль, 28 дней Договор 1,март, 10 дней 10 так как его закрыли 10 числа. Заранее спасибо! П.с. тестовое задание на собеседование. |
29 май 17, 12:35 [20519688] Ответить | Цитировать Сообщить модератору |
Minamoto Member Откуда: Москва Сообщений: 1162 |
Ну так может стоит себе признаться, что вы не тянете эту работу? Или работу тоже с помощью форума делать планируете? |
||
29 май 17, 12:39 [20519699] Ответить | Цитировать Сообщить модератору |
TaPaK Member Откуда: Kiev Сообщений: 6801 |
Bbbqqq,
всех возьмут? |
||
29 май 17, 12:50 [20519738] Ответить | Цитировать Сообщить модератору |
Bbbqqq Member Откуда: Сообщений: 49 |
Minamoto, Не тяну? Может быть. Скорее из за только самостоятельного "обучения" дома и из за отсутствия опыта. Работу как мне кажется я свою буду выполнять хорошо, буду приходить и если надо, учиться дома до ночи, а потом утром опять на работу. Есть большой интерес к этой сфере. Да я не знаю, как сдедать столь элементарные вещи(для меня пока что не элементарные), но я готов учиться и постигать трудности. Этим запросом сотрудники каждый день решают "поставленные задания", возможно , они тоже пришли на работу, не зная как его написать. Но им показали раз, они поняли и стали чётко выполнять свою работу. К слову о работе. Рассматривают людей без опыта. (Москва, зп до 40, банк) С желанием обучаться. Ищут под себя, чтобы вырастить. И знанием Sql на уровне лёгких запросов.(даже без подзапросов) Дали вот такие задания. Вот... |
29 май 17, 13:02 [20519790] Ответить | Цитировать Сообщить модератору |
Bbbqqq Member Откуда: Сообщений: 49 |
TaPaK, Нет, только меня)) |
29 май 17, 13:03 [20519793] Ответить | Цитировать Сообщить модератору |
Akina Member Откуда: Зеленоград, Москва, Россия Сообщений: 20960 |
Открыт ранее 1 марта и закрыт позднее 31 января. |
||
29 май 17, 13:18 [20519850] Ответить | Цитировать Сообщить модератору |
Bbbqqq Member Откуда: Сообщений: 49 |
Akina, Да, спасибо, это уже сделал) почти так) |
29 май 17, 13:19 [20519858] Ответить | Цитировать Сообщить модератору |
bideveloper Member Откуда: Сообщений: 517 |
По второму вопросу можно сделать таблицу месяцев MonthFirstDate MonthLastDate. Затем для Accounts делаем join с этой таблицей и там уже количество дней несложно посчитать, когда у нас в строке есть все 4 даты ACCOUNTOPENDATE,ACCOUNTCLOSEDATE, MonthFirstDate MonthLastDate. |
29 май 17, 14:47 [20520200] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |