Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 24.10.2014
Сообщений: 4

Выборка поезда между двумя станциями на конкретный день.

24.10.2014, 13:55. Показов 1586. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
У меня такая проблема.
мне нужно найти поезд между двумя станциями(Lviv, Kyiv) и на конкретный день(2014-10-25). я написал такой запрос
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
SELECT RSC.RouteID, RSC.StationID, RSC.TimeArrival,RSC.TimeDepart FROM (
    SELECT 
    R.RouteID
    ,R.StationID Q
    ,RS.StationID D
       FROM RouteStations R INNER JOIN RouteStations RS 
       ON R.RouteID = RS.RouteID 
       WHERE R.StationID= (SELECT StationID  FROM Stations WHERE StationName = 'Lviv') 
       AND RS.StationID=(SELECT StationID  FROM Stations WHERE StationName = 'Kyiv') 
       AND R.ID<RS.ID) A
       LEFT JOIN RealSchedule RSC
       ON A.RouteID=RSC.RouteID AND RSC.StationID IN (A.Q, A.D) 
       WHERE RSC.RouteID IS NOT NULL
       ORDER BY TimeDepart
он дает такой результат(миниатюра)

В таблице RouteStations (номер поезда и номер станции(StationID) которые он проезжает(они пронумерованные( ID identity) чтоб знать в куда он едет)
В таблице RealSchedule расписание поездов (RouteID,StationID,TimeArrival,TimeDepar t)
Если я напишу
SQL
1
WHERE CAST(RSC.TimeDepart AS DATE)='2014-10-25'
то результат выдаст только значения пункту отправления(Lviv), пункт прибытия (Kyiv)(он туда прибывает на следующий день) не показывает, а мне нужно чтоб показывал и пункту отправления(Lviv) и пункт прибытия (Kyiv) поезда который отправился 2014-10-25 из Lviv.

Помогите!!!

SQL sereve Manager Studio 2012 expres
Миниатюры
Выборка поезда между двумя станциями на конкретный день.  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.10.2014, 13:55
Ответы с готовыми решениями:

Рассчитать время, проведенное пассажиром поезда в пути если известна скорость поезда и расстояние между станциями
Рассчитать время, проведенное пассажиром поезда в пути если известна скорость поезда и расстояние между станциями. Скорость поезда и...

Рассчитать время, проведенное пассажиром поезда в пути если известна скорость поезда и расстояние между станциями
Рассчитать время, проведенное пассажиром поезда в пути если известна скорость поезда и расстояние между станциями. Скорость поезда и...

Написать программу для нахождения кратчайшего расстояния между двумя станциями метро
Написать программу для нахождения кратчайшего расстояния между двумя станциями метро Помогите пож, последний зачет :(

5
66 / 64 / 24
Регистрация: 14.10.2014
Сообщений: 339
24.10.2014, 15:27
Опиши таблицы более подробно, а то не охота по твоему запросу восстанавливать и угадывать, что там у тебя.
0
0 / 0 / 0
Регистрация: 24.10.2014
Сообщений: 4
24.10.2014, 17:02  [ТС]
В таблице RealSchedule расписание поездов(RoutID номер поезда(varchar(5)), StationID номер станции(int), TimeArrival час прибытия на станцию(если в поезда эта станция первая то TimeArrival = null)(datetime), TimeDepart час отправления со станции(если в поезда эта станция последняя то TimeDepart = null)(datetime))
В таблице RouteStations поезда (ID порядковой номер станции в этом поезде(int) ,RoutID номер поезда(varchar(5)), StationID номер станции(int), TimeArrival час прибытия на станцию(time), TimeDepart отправления со станции (time).

Примеры:
1-RealSchedule
2-RouteStations

Буду очень благодарен!!!
Миниатюры
Выборка поезда между двумя станциями на конкретный день.   Выборка поезда между двумя станциями на конкретный день.  
0
66 / 64 / 24
Регистрация: 14.10.2014
Сообщений: 339
24.10.2014, 17:21
эээээ... чет вообще когнитивный диссонанс.
Что будет результатом из этих двух запросов на 2014-10-25?
Вижу маршруты и станции, время прибытия\убытия, но я чет не вижу поездов которые по этим маршрутам ходят.
0
0 / 0 / 0
Регистрация: 24.10.2014
Сообщений: 4
24.10.2014, 17:48  [ТС]
SQL
1
2
WHERE R.StationID= (SELECT StationID  FROM Stations WHERE StationName = 'Lviv') 
       AND RS.StationID=(SELECT StationID  FROM Stations WHERE StationName = 'Kyiv')
тут ми находим StationID по имени станции(SELECT StationID FROM Stations WHERE StationName = 'Lviv')
StationID (1100)- Lviv
StationID (1110)- Kyiv
0
0 / 0 / 0
Регистрация: 24.10.2014
Сообщений: 4
25.10.2014, 18:12  [ТС]
Жду от вас помощи!!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.10.2014, 18:12
Помогаю со студенческими работами здесь

Вычислите количество дней между двумя датами,заданными в формате DD/MM/YYYY,включая начальный и конечный день.
Вычислите количество дней между двумя датами,заданными в формате DD/MM/YYYY,включая начальный и конечный день. Даты могут быть заданы в...

Определить расстояние между станциями метро
Даны наименования станций метро Калининско-Фрунзенской линии и расстояния между ними. Определить расстояние от станций Комсомольская,...

Просчитать минимальную дистанцию между человеком и станциями
Привет , всем. Скажите пожалуйста , у меня дипломная по проектированию полного маршрута автобусов. И у меня сейчас возникла проблема ,...

Дана схема метрополитена, найти кратчайший путь между станциями
Всем привет! Дана схема метрополитена, найти кратчайший путь между станциями. Схема метрополитена задаётся с помощью матрицы...

Между какими соседними станциями в поезде было наибольшее число пассажиров
Некоторый поезд в пути следования останавливается на N станциях (станция номер 1 — начальная, а станция номер N — конечная). Дан список...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2. Данные берутся из. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru