|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
18.12.2010, 20:10 | #1 |
Форумчанин
Регистрация: 11.12.2010
Сообщений: 110
|
SQL. Запрос.
Добрый день всем. Помогите пожалуйста с такой проблемой.
Вобщем есть две таблици в одной айди_водителя(primary key) его ФИО и стаж в другой Поездки id (primary key) айди_водителя(FK),дата поездки и количество километров. Тоесть таблици такие: Водители: id_vd(primary key),FIO,stg Поездки: id(primary key), id_vd,date,kol_lt Нужно написать запрос: вывести сумму километров которую проехал каждый водитель на определенных участках времени, запрос сам я написал вот он, работает отлично все выводит Код:
такой(заголовки столбцов): ФИО Промежуток1 Промежуток 2 Промежуток 3 Тоесть как бы выполнить отакие 3 запроса: Код:
Код:
Код:
|
18.12.2010, 20:20 | #2 |
Форумчанин
Регистрация: 19.03.2010
Сообщений: 409
|
можешь выложить базу?
чтобы провериться
Есть вопросы, пишите в ЛС.
|
18.12.2010, 20:27 | #3 |
Форумчанин
Регистрация: 11.12.2010
Сообщений: 110
|
Просто база у меня другая это я как пример сделал описание. Но я могу ее быстренько создать
|
18.12.2010, 20:43 | #4 |
!=
Участник клуба
Регистрация: 08.09.2008
Сообщений: 1,751
|
почтай про UNION
пример (кликать тут) |
18.12.2010, 20:43 | #5 |
Форумчанин
Регистрация: 11.12.2010
Сообщений: 110
|
http://rapidshare.com/files/438040228/dr.mdf
Вот залил на файлообменный хостинг, не нашол где прикреплять тут файлы можно |
18.12.2010, 20:44 | #6 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Novi4ok_11
это решаемая задача. Только ты должен определиться, в каком виде тебе нужно получить результат.. поясню. если нужно получить: 01.12-07.12 Иванов 100 01.12-07.12 Петров 200 01.12-07.12 Сидоров 300 08.12-14.12 Сидоров 20 08.12-14.12 Петров 15 08.12-14.12 Козлевич 250 15.12-30.12 Иванов 500 .... то задача решается через элементарный UNION ALL: Код:
если же нужно получить по водителю все ответы в одну строчку Иванов 100 0 500 Сидоров 300 20 0 ... то указывайте одну и ту же таблицу Trav столько раз, сколько периодов (задавая разные псевдонимы) и связь c таблицей водителей DV делайте через LEFT JOIN p.s. не разберёсь - пишите, вместе обязательно разберёмся... удачи. |
18.12.2010, 20:47 | #7 | |
!=
Участник клуба
Регистрация: 08.09.2008
Сообщений: 1,751
|
off
Цитата:
|
|
18.12.2010, 20:49 | #8 | |
Форумчанин
Регистрация: 11.12.2010
Сообщений: 110
|
Цитата:
Я сделал отак, но вывело как вы написали первый вариант Код:
|
|
18.12.2010, 20:52 | #9 | |
Форумчанин
Регистрация: 11.12.2010
Сообщений: 110
|
Цитата:
|
|
18.12.2010, 21:14 | #10 |
Форумчанин
Регистрация: 19.03.2010
Сообщений: 409
|
попробуй так
Код:
Есть вопросы, пишите в ЛС.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
SQL запрос | grafgrial | Общие вопросы Delphi | 8 | 19.10.2010 15:57 |
Запрос с CASE переделать в запрос с PIVOT (MS SQL Server 2005) | Машуля | SQL, базы данных | 4 | 06.05.2010 21:09 |
SQL запрос | Oleg Romanchuk | Помощь студентам | 2 | 23.11.2009 09:42 |
Создание новых таблиц в MS SQL SERVERE через SQL запрос в Delphi | S_Yevgeniy | Помощь студентам | 1 | 27.10.2009 06:26 |
SQL запрос на основе другого SQL запрса... | Timoxa | БД в Delphi | 1 | 07.01.2007 18:15 |