Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/25: Рейтинг темы: голосов - 25, средняя оценка - 4.64
38 / 27 / 13
Регистрация: 18.12.2019
Сообщений: 423
Записей в блоге: 1

Вывести все пожертвования за последний месяц в виде: отделение, спонсор, сумма пожертвования, дата пожертвования

15.08.2020, 14:13. Показов 5095. Ответов 5

Студворк — интернет-сервис помощи студентам
База данных Больница (Hospital) содержит информацию
о врачах и пожертвованиях.
Врачи, работающие в больнице представлены в виде таблицы Врачи (Doctors), в которой собрана основная информация, такая как: имя, фамилия, а также зарплата.
Специализации врачей представлены в виде таблиц Специализации (Specializations) и Врачи и специализации (DoctorsSpecializations). Также база данных содержит информацию
об отпусках врачей, располагающуюся в таблице Отпуска
(Vacations).
Данные относящиеся к спонсорам и пожертвованиям хранятся в таблицах Спонсоры (Sponsors) и Пожертвования
(Donations) соответственно.
Также в базе данных содержится информация о палатах
больницы в таблице Палаты (Wards), которые тесно связаны с отделениями, в которых они располагаются, и которые
представлены таблицей Отделения (Departments).
T-SQL
1
2
3
4
5
6
SELECT
    Departmenid, Sponsorid, Amount, [Date]
FROM
    Donation
WHERE
    ( ??????????????????????????????? )
Как выставить проверку по актуальной дате(мы же наперед не знаем когда будет делаться этот запрос) в запросе ?
Миниатюры
Вывести все пожертвования за последний месяц в виде: отделение, спонсор, сумма пожертвования, дата пожертвования  
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.08.2020, 14:13
Ответы с готовыми решениями:

Написать программу, которая отслеживает пожертвования в Общество Защиты Влиятельных Лиц
Задача: Мой код (не работает): #include "pch.h" #include <iostream> #include <fstream> #include <string> using...

Дана дата из трех чисел (день, месяц и год). Вывести yes, если такая дата существует
Здравствуйте. Помогите пожалуйста написать программу. Дана дата из трех чисел (день, месяц и год). Вывести yes, если такая дата существует...

Задана дата в формате ДД.ММ. Необходимо выдать результат в виде: ДД месяц
Задана дата в формате ДД.ММ. Необходимо выдать результат в виде: ДД месяц

5
 Аватар для pincet
1654 / 1153 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
15.08.2020, 15:45
select getdate() спасет отца русской демократии
1
38 / 27 / 13
Регистрация: 18.12.2019
Сообщений: 423
Записей в блоге: 1
20.08.2020, 23:13  [ТС]
pincet, не спасло
Вот написал какую-то фигню, которая естественно не выводит то, что мне нужно
+ нужно же еще как-то прописать чтобы выдавало за предыдущий месяц ...
T-SQL
1
2
3
4
5
6
SELECT Departmentid, Sponsorid, Amount, [Date]
FROM
    Donations
SELECT TOP(1) DATEPART (MONTH, GETDATE()) FROM dbo.Donations
JOIN Departments ON Donations.DepartmentId = Departments.Id
JOIN Sponsors ON Donations.SponsorId = Sponsors.Id
0
5962 / 4538 / 1094
Регистрация: 29.08.2013
Сообщений: 28,148
Записей в блоге: 3
21.08.2020, 09:12
Цитата Сообщение от atorvik Посмотреть сообщение
выдавало за предыдущий месяц
получи текущую дату, выведи месяц и сделай месяц-1

у вас не с базой проблемы, а со знаниями
зачем вы начинаете писать многострочные запросы которые работают неправильно?

почему бы не начать с просто понимая что такое JOIN - соединить 2 таблицы, вывести даты и применять к ним функции разные что бы получилось то что надо
1
38 / 27 / 13
Регистрация: 18.12.2019
Сообщений: 423
Записей в блоге: 1
23.08.2020, 17:28  [ТС]
Цитата Сообщение от qwertehok Посмотреть сообщение
у вас не с базой проблемы, а со знаниями
Вы абсолютно правы. Увы на все времени не хватает (работа+учеба на "стационаре")
Join мы еще не проходили. Задание выдали до темы по Join, потом сказали пока его не делать, так как завтыкали видите - ли...
Решил не оставлять на потом, попробовать своими силами....
Вот несколько запросов вроде как делают, то что мне нужно :
T-SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
1. Вывести полные имена врачей и их специализации. 
SELECT
    Doctors.[Name], Doctors.Surname, Specializations.[Name]
FROM
    Doctors
JOIN DoctorsSpecializations ON Doctors.id = DoctorsSpecializations.Doctorid
JOIN Specializations ON DoctorsSpecializations.SpecializationId = Specializations.ID
2. Вывести фамилии и зарплаты (сумма ставки и надбавки) врачей, которые не находятся в отпуске. 
SELECT
  Surname, (Salary + Premium) AS 'Salary + Premium'
FROM
Doctors
JOIN Vacations ON Vacations.DoctorId = Doctors.Id
WHERE ( getdate() < StartDate and EndDate > getdate() )
3. Вывести названия палат, которые находятся в отделении “Intensive Treatment”. 
SELECT
  Wards.[Name]
FROM
Wards
JOIN Departments ON Wards.DepartmentId = Departments.Id
WHERE ( Departments.[Name] = 'Intensive Treatment')
4. Вывести названия отделений без повторений, которые спонсируются компанией “Umbrella Corporation”. 
SELECT DISTINCT
    Departments.[Name]
FROM
    Departments
JOIN Sponsors ON Departments.Id = Sponsors.Id
WHERE ( Sponsors.[Name] = 'Umbrella Corporation')
но вот именно с 5тым запросом, запросом этой темы, у меня что-то не ладится
если Вам не тяжело, покажите на этом примере, как сделать то, о чем Вы говорите.
0
5962 / 4538 / 1094
Регистрация: 29.08.2013
Сообщений: 28,148
Записей в блоге: 3
23.08.2020, 23:04
Лучший ответ Сообщение было отмечено atorvik как решение

Решение

SQL
1
dateadd( MONTH, -1, getdate() )
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.08.2020, 23:04
Помогаю со студенческими работами здесь

Определить, каким днем недели является дата, заданная в виде число, месяц
Здравствуйте, уважаемые программисты! помогите решить задачку! Определить, каким днем недели является дата, заданная в виде число,...

Определить, каким днем недели является дата, заданная в виде: число, месяц, год
Определить, каким днем недели является дата, заданная в виде: число, месяц, год. Указание. Используем метод Ленуара: 1) вычислить...

Определить, каким днем недели является дата, заданная в виде число, месяц (в текущем году)
Вдруг кому-то понадобится, сделано на Python 3.4 def day(day,month,year): ND = M = y = year + 4800 - int((14 - month)...

Определить, каким днем недели является дата, заданная в виде число, месяц (в текущем году)
Определить, каким днем недели является дата, заданная в виде число, месяц (в текущем году).

Вывести тройку лучших за последний месяц
Подскажите пожалуйста, как вывести тройку лучших, опыта как бы у самого мало пишу SELECT TOP 3,jockey.Last_name, jockey.First_name,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru