Домашняя страница Undo Do Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/SQL запрос к базам на страницах Excel - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, китин  
SQL запрос к базам на страницах Excel
ant6729 Дата: Вторник, 25.12.2018, 14:35 | Сообщение № 1
Группа: Проверенные
Ранг: Ветеран
Сообщений: 533
Репутация: 2 ±
Замечаний: 40% ±

Excel 2010
Всем привет, возможно, кто-то сможет помочь с запросом

Задания на sql чаще связаны с Access, поэтому размещаю тему тут...
Если не так - прошу перекинуть в Excel vba

Нужно написать, когда каждый из водителей сделал свой первый и последний рейс и на каком авто он ездил.

Первую часть вопроса, я вроде, написал, вторую не могу понять, как подсоединить, возможно, кто-то сможет помочь?

Файл приложил.
К сообщению приложен файл: 2118199.xls (76.0 Kb)
 
Ответить
СообщениеВсем привет, возможно, кто-то сможет помочь с запросом

Задания на sql чаще связаны с Access, поэтому размещаю тему тут...
Если не так - прошу перекинуть в Excel vba

Нужно написать, когда каждый из водителей сделал свой первый и последний рейс и на каком авто он ездил.

Первую часть вопроса, я вроде, написал, вторую не могу понять, как подсоединить, возможно, кто-то сможет помочь?

Файл приложил.

Автор - ant6729
Дата добавления - 25.12.2018 в 14:35
ant6729 Дата: Вторник, 25.12.2018, 20:35 | Сообщение № 2
Группа: Проверенные
Ранг: Ветеран
Сообщений: 533
Репутация: 2 ±
Замечаний: 40% ±

Excel 2010
Возможно, но я не уверен
[vba]
Код
strSQL = "SELECT [Drivers$].DriverID, MIN([CarList$].CarListDate), MAX([CarList$].CarListDate), [CarList$].CarId, [CarBrand$].CarBrandName " _
& "FROM ((([Drivers$]" _
& "inner JOIN [CarList$] ON [Drivers$].DriverID = [CarList$].DriverID)" _
& "inner JOIN [Cars$] ON [CarList$].CarId = [Cars$].CarId) left JOIN [CarBrand$] ON [Cars$].CarBrandId = [CarBrand$].CarBrandId) " _
& " Group BY [Drivers$].DriverID, [CarList$].CarId, [CarBrand$].CarBrandName "
[/vba]
 
Ответить
СообщениеВозможно, но я не уверен
[vba]
Код
strSQL = "SELECT [Drivers$].DriverID, MIN([CarList$].CarListDate), MAX([CarList$].CarListDate), [CarList$].CarId, [CarBrand$].CarBrandName " _
& "FROM ((([Drivers$]" _
& "inner JOIN [CarList$] ON [Drivers$].DriverID = [CarList$].DriverID)" _
& "inner JOIN [Cars$] ON [CarList$].CarId = [Cars$].CarId) left JOIN [CarBrand$] ON [Cars$].CarBrandId = [CarBrand$].CarBrandId) " _
& " Group BY [Drivers$].DriverID, [CarList$].CarId, [CarBrand$].CarBrandName "
[/vba]

Автор - ant6729
Дата добавления - 25.12.2018 в 20:35
Pelena Дата: Вторник, 25.12.2018, 21:43 | Сообщение № 3
Группа: Админы
Ранг: Местный житель
Сообщений: 19407
Репутация: 4556 ±
Замечаний: ±

Excel 365 & Mac Excel
В Access этот запрос выглядит как-то так
[vba]
Код
SELECT CarMinDate.DriverID, CarMinDate.MinDate, CarMinDate.RegistrationNumber AS Номер_MinDate, CarMinDate.CarBrandName AS Марка_MinDate, CarMaxDate.MaxDate, CarMaxDate.RegistrationNumber AS Номер_MaxDate, CarMaxDate.CarBrandName AS Марка_MaxDate
FROM (Drivers INNER JOIN (SELECT MaxDate.DriverID, MaxDate.MaxDate, Cars.RegistrationNumber, CarBrend.CarBrandName
FROM (SELECT DriverID, Max(CarList.CarListDate) AS MaxDate
FROM CarList
GROUP BY CarList.DriverID) as MaxDate
INNER JOIN ((CarBrend INNER JOIN Cars ON CarBrend.[CarBrandId] = Cars.[CarBrandId]) INNER JOIN CarList ON Cars.[CarId] = CarList.[CarId]) ON (MaxDate.DriverID = CarList.DriverID) AND (MaxDate.MaxDate = CarList.CarListDate)) as CarMaxDate
ON Drivers.[DriverID] = CarMaxDate.[DriverID]) INNER JOIN (SELECT MinDate.DriverID, MinDate.MinDate, Cars.RegistrationNumber, CarBrend.CarBrandName
FROM (SELECT DriverID, Min(CarList.CarListDate) AS MinDate
FROM CarList
GROUP BY CarList.DriverID) as MinDate
INNER JOIN ((CarBrend INNER JOIN Cars ON CarBrend.[CarBrandId] = Cars.[CarBrandId]) INNER JOIN CarList ON Cars.[CarId] = CarList.[CarId]) ON (MinDate.DriverID = CarList.DriverID) AND (MinDate.MinDate = CarList.CarListDate)) as CarMinDate ON Drivers.[DriverID] = CarMinDate.[DriverID]
[/vba]
Только даты нормальные поставьте, а то у Вас там 13-й месяц везде %)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеВ Access этот запрос выглядит как-то так
[vba]
Код
SELECT CarMinDate.DriverID, CarMinDate.MinDate, CarMinDate.RegistrationNumber AS Номер_MinDate, CarMinDate.CarBrandName AS Марка_MinDate, CarMaxDate.MaxDate, CarMaxDate.RegistrationNumber AS Номер_MaxDate, CarMaxDate.CarBrandName AS Марка_MaxDate
FROM (Drivers INNER JOIN (SELECT MaxDate.DriverID, MaxDate.MaxDate, Cars.RegistrationNumber, CarBrend.CarBrandName
FROM (SELECT DriverID, Max(CarList.CarListDate) AS MaxDate
FROM CarList
GROUP BY CarList.DriverID) as MaxDate
INNER JOIN ((CarBrend INNER JOIN Cars ON CarBrend.[CarBrandId] = Cars.[CarBrandId]) INNER JOIN CarList ON Cars.[CarId] = CarList.[CarId]) ON (MaxDate.DriverID = CarList.DriverID) AND (MaxDate.MaxDate = CarList.CarListDate)) as CarMaxDate
ON Drivers.[DriverID] = CarMaxDate.[DriverID]) INNER JOIN (SELECT MinDate.DriverID, MinDate.MinDate, Cars.RegistrationNumber, CarBrend.CarBrandName
FROM (SELECT DriverID, Min(CarList.CarListDate) AS MinDate
FROM CarList
GROUP BY CarList.DriverID) as MinDate
INNER JOIN ((CarBrend INNER JOIN Cars ON CarBrend.[CarBrandId] = Cars.[CarBrandId]) INNER JOIN CarList ON Cars.[CarId] = CarList.[CarId]) ON (MinDate.DriverID = CarList.DriverID) AND (MinDate.MinDate = CarList.CarListDate)) as CarMinDate ON Drivers.[DriverID] = CarMinDate.[DriverID]
[/vba]
Только даты нормальные поставьте, а то у Вас там 13-й месяц везде %)

Автор - Pelena
Дата добавления - 25.12.2018 в 21:43
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!