Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
Топик располагается на нескольких страницах: 1 2      [все]
 Запрос через несколько таблиц  [new]
anton6
Member

Откуда:
Сообщений: 80
Всем привет, никак не могу освоить запрос через несколько таблиц с джоинами... ужас какой-то...

Самолеты
-----------
samoletid
markasamoletid


Марка
-------
markasamoletid
markasamoletname


Пилоты
--------
pilotid
pilotname


Вылеты
---------
samoletid
pilotid
vuletid
vuletdate



Нужно найти id вылета(vuletid), совершенного пилотом (pilotname) например, Василий
на самолете марки, например, Боинг."

Найти, когда каждый pilotid совершил свой первый вылет
и последний вылет и на каком самолете


Подскажите, пожалуйста, как это сделать....
23 дек 18, 18:31    [21771509]     Ответить | Цитировать Сообщить модератору
 Re: Запрос через несколько таблиц  [new]
Swa111
Member

Откуда:
Сообщений: 104
anton6,

Так как ни каких наработок нет, то исходим из того что мат часть не учим.

для начала постройте широкую таблицу ((начаиная с Вылетов соединенные с Пилотами) соединенные с Самолетами) соединенный с Маркой

Затем используя предложение Where отберите с нужным условием.

С поиском первых и последних записей немного сложнее
23 дек 18, 19:26    [21771530]     Ответить | Цитировать Сообщить модератору
 Re: Запрос через несколько таблиц  [new]
anton6
Member

Откуда:
Сообщений: 80
Мат часть смотрел) Второй день)

sq = "SELECT * from [Pilots$] inner join [Vulet$] on [Pilots$].PilotId = [Vulet$].PilotId where Name1 like 'Petrov' "


Как к этой строке подсоединиться еще через пару таблиц... не знаю
Думаю, но никак не додумаю...
24 дек 18, 09:25    [21771759]     Ответить | Цитировать Сообщить модератору
 Re: Запрос через несколько таблиц  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 19021
anton6, начните с более простого варианта. Просто сначала перечисляем используемые таблицы, а потом условия соответствия записей в них. Типа

SELECT *
FROM таблица1, таблица2, таблица3, ... таблицаN
WHERE таблица1. поле11 = таблица2.поле21
  AND таблица2.поле22 = таблица3.поле31
...
  AND таблицаМ.полеМ2 = таблицаN.полеN1


Так получите все поля всех таблиц (с кучей дублирований, конечно).

Теперь начинайте, видя этот массив и понимая, что надо выбрать, добавлять дополнительные условия отборов. Типа

SELECT *
FROM таблица1, таблица2, таблица3, ... таблицаN
WHERE таблица1. поле11 = таблица2.поле21
  AND таблица2.поле22 = таблица3.поле31
...
  AND таблицаМ.полеМ2 = таблицаN.полеN1

  AND таблицаК.полеК3 = 'некое значение'
  AND таблицаН.полеН5 NOT IN ('значение1', 'значение2')
...

Каждый раз, добавляя очередное условие, проверяйте, соответствует ли результат тому, что ожидалось, не осталось ли что-то, что очередное условие должно было убрать, не убралось ли то, что должно было остаться...

Именно это имелось в виду, когда были сказаны фразы

Swa111
для начала постройте широкую таблицу ((начиная с Вылетов соединенные с Пилотами) соединенные с Самолетами) соединенный с Маркой

Затем используя предложение Where отберите с нужным условием.


Как превратить всё это в джойн-синтаксис - это другой вопрос. Но он возникнет именно потом, когда с конвертацией простейшей логики в запрос с картезианским объединением перестанет представлять проблему.
\
24 дек 18, 09:43    [21771769]     Ответить | Цитировать Сообщить модератору
 Re: Запрос через несколько таблиц  [new]
sdku
Member

Откуда: Краснодар
Сообщений: 6005
anton6,
А Вы уверены,что схема БД разработана верно?
Лично у меня сомнения по поводу таблиц "самолеты" и "марки"-каково их назначение и какие данные в них хранятся?
При правильно спроектированной базе (с установлением связей) создание запроса,хоть из десятка таблиц, в конструкторе не вызывает ни малейших сложностей
24 дек 18, 11:16    [21771830]     Ответить | Цитировать Сообщить модератору
 Re: Запрос через несколько таблиц  [new]
Озверин
Member

Откуда: Ростов-на-Дону
Сообщений: 5183
sdku
anton6,
А Вы уверены,что схема БД разработана верно?
Лично у меня сомнения по поводу таблиц "самолеты" и "марки"-каково их назначение и какие данные в них хранятся?
При правильно спроектированной базе (с установлением связей) создание запроса,хоть из десятка таблиц, в конструкторе не вызывает ни малейших сложностей


да все нормально там со схемой.
24 дек 18, 11:23    [21771838]     Ответить | Цитировать Сообщить модератору
 Re: Запрос через несколько таблиц  [new]
sdku
Member

Откуда: Краснодар
Сообщений: 6005
Вдогонку:и вообще обычно работают с экипажами,которые состоят из нескольких человек и как исключение экипажи бывают сборными,но это надо предусматривать.+далеко не каждый пилот может летать на конкретной марке самолета. Короче:если Вы создаете что-то серьезное учитывайте все возможные нюансы,а если же хотите узнать про объединения читайте HELP-там все написано (вряд-ли в рамках форума Вам это объяснят лучше чем вдумчиво прочесть)
Если хотите изложите задачу,стоящую перед Вами, и выложите свои наработки
24 дек 18, 11:29    [21771843]     Ответить | Цитировать Сообщить модератору
 Re: Запрос через несколько таблиц  [new]
Озверин
Member

Откуда: Ростов-на-Дону
Сообщений: 5183
sdku
Вдогонку:и вообще обычно работают с экипажами,которые состоят из нескольких человек и как исключение экипажи бывают сборными,но это надо предусматривать.+далеко не каждый пилот может летать на конкретной марке самолета. Короче:если Вы создаете что-то серьезное учитывайте все возможные нюансы,а если же хотите узнать про объединения читайте HELP-там все написано (вряд-ли в рамках форума Вам это объяснят лучше чем вдумчиво прочесть)
Если хотите изложите задачу,стоящую перед Вами, и выложите свои наработки


дык парень для люфтганзы разрабатывает.
24 дек 18, 11:33    [21771847]     Ответить | Цитировать Сообщить модератору
 Re: Запрос через несколько таблиц  [new]
anton6
Member

Откуда:
Сообщений: 80
Так, что - то получилось, не подсказывайте)
24 дек 18, 12:13    [21771890]     Ответить | Цитировать Сообщить модератору
 Re: Запрос через несколько таблиц  [new]
sdku
Member

Откуда: Краснодар
Сообщений: 6005
посмотрите:(для определения первого и последнего вылета в тбл."вылеты" должно быть поле с данными о дате и времени вылета)

К сообщению приложен файл (tmp.rar - 21Kb) cкачать
24 дек 18, 12:27    [21771910]     Ответить | Цитировать Сообщить модератору
 Re: Запрос через несколько таблиц  [new]
anton6
Member

Откуда:
Сообщений: 80
Все...все перегуглил... нашел синтаксис для vba
через одну таблицу запрос сделал, через две никак...
Подскажите, пожалуйста, где неточности


Это работает
sb = "SELECT [Pilots$].PilotID, [Samoletlist$].samoletId, [Samolets$].SamoletsId, [Samolets$].SamoletmarkaId " _
& "FROM ([Pilots$]" _
& "inner JOIN [Samoletlist$] ON [Pilots$].PilotID = [Samoletlist$].PilotID)" _
& "inner JOIN [Samolets$] ON [Samoletlist$].samoletId = [Samolets$].SamoletsId" _
& "Where Name like 'Вася'"

А это уже нет...
sb = "SELECT [Pilots$].PilotID, [Samoletlist$].samoletId, [Samolets$].SamoletsId, [Samolets$].SamoletmarkaId, [SamoletMarka$].SamoletMarkaName " _
& "FROM ([Pilots$]" _
& "inner JOIN [Samoletlist$] ON [Pilots$].PilotID = [Samoletlist$].PilotID)" _
& "inner JOIN [Samolets$] ON [Samoletlist$].samoletId = [Samolets$].SamoletsId" _
'& "inner JOIN [SamoletMarka$] ON [Samolets$].SamoletmarkaId= [SamoletMarka$].SamoletmarkaId " _
& "Where Name like 'Вася'"

И так и так скобки ставил... не получается... прошу помочь
24 дек 18, 13:51    [21772033]     Ответить | Цитировать Сообщить модератору
 Re: Запрос через несколько таблиц  [new]
anton6
Member

Откуда:
Сообщений: 80
Все...все перегуглил... нашел синтаксис для vba
через одну таблицу запрос сделал, через две никак...
Подскажите, пожалуйста, где неточности


Это работает
sb = "SELECT [Pilots$].PilotID, [Samoletlist$].samoletId, [Samolets$].SamoletsId, [Samolets$].SamoletmarkaId " _
& "FROM ([Pilots$]" _
& "inner JOIN [Samoletlist$] ON [Pilots$].PilotID = [Samoletlist$].PilotID)" _
& "inner JOIN [Samolets$] ON [Samoletlist$].samoletId = [Samolets$].SamoletsId" _
& "Where Name like 'Вася'"

А это уже нет...
sb = "SELECT [Pilots$].PilotID, [Samoletlist$].samoletId, [Samolets$].SamoletsId, [Samolets$].SamoletmarkaId, [SamoletMarka$].SamoletMarkaName  " _
& "FROM ([Pilots$]" _
& "inner JOIN [Samoletlist$] ON [Pilots$].PilotID = [Samoletlist$].PilotID)" _
& "inner JOIN [Samolets$] ON [Samoletlist$].samoletId = [Samolets$].SamoletsId" _
'& "inner JOIN [SamoletMarka$] ON [Samolets$].SamoletmarkaId= [SamoletMarka$].SamoletmarkaId " _
& "Where Name like 'Вася'"


И так и так скобки ставил... не получается... прошу помочь
24 дек 18, 13:51    [21772035]     Ответить | Цитировать Сообщить модератору
 Re: Запрос через несколько таблиц  [new]
Озверин
Member

Откуда: Ростов-на-Дону
Сообщений: 5183
anton6,

скобок не хватает ()
24 дек 18, 13:54    [21772041]     Ответить | Цитировать Сообщить модератору
 Re: Запрос через несколько таблиц  [new]
Озверин
Member

Откуда: Ростов-на-Дону
Сообщений: 5183
sb = "SELECT [Pilots$].PilotID, [Samoletlist$].samoletId, [Samolets$].SamoletsId, [Samolets$].SamoletmarkaId, [SamoletMarka$].SamoletMarkaName " _
& "FROM (([Pilots$]" _
& "inner JOIN [Samoletlist$] ON [Pilots$].PilotID = [Samoletlist$].PilotID)" _
& "inner JOIN [Samolets$] ON [Samoletlist$].samoletId = [Samolets$].SamoletsId)" _
'& "inner JOIN [SamoletMarka$] ON [Samolets$].SamoletmarkaId= [SamoletMarka$].SamoletmarkaId " _
& "Where Name like 'Вася'"
24 дек 18, 13:54    [21772042]     Ответить | Цитировать Сообщить модератору
 Re: Запрос через несколько таблиц  [new]
ПЕНСИОНЕРКА
Member

Откуда: Владимирская обл
Сообщений: 4537
anton6,

у вас ошибка синтаксиса в первую очередь

попробуйте так. без строк продолжения(не забывайте пробел в начале под-строки)
sb = "SELECT [Pilots$].PilotID, [Samoletlist$].samoletId, [Samolets$].SamoletsId, [Samolets$].SamoletmarkaId," 
sb=sb & " [SamoletMarka$].SamoletMarkaName  " 
sb=sb & " FROM ([Pilots$]" 
sb=sb & "  inner JOIN [Samoletlist$] ON [Pilots$].PilotID = [Samoletlist$].PilotID)" 
sb=sb & " inner JOIN [Samolets$] ON [Samoletlist$].samoletId = [Samolets$].SamoletsId"
'sb=sb & " inner JOIN [SamoletMarka$] ON [Samolets$].SamoletmarkaId= [SamoletMarka$].SamoletmarkaId " 
sb=sb & " Where Name like 'Вася'"


хотя я не уверена, что вы правильно прописали inner JOIN,т.к. явно не хватает скобок
24 дек 18, 14:01    [21772063]     Ответить | Цитировать Сообщить модератору
 Re: Запрос через несколько таблиц  [new]
anton6
Member

Откуда:
Сообщений: 80
Скобки пробовал, но все равно что-то идет не так

Сложный синтаксис...
24 дек 18, 14:12    [21772082]     Ответить | Цитировать Сообщить модератору
 Re: Запрос через несколько таблиц  [new]
ПЕНСИОНЕРКА
Member

Откуда: Владимирская обл
Сообщений: 4537
anton6,
выложите пример базы --не создавать же пример за вас(всеж 4 таблицы)
24 дек 18, 14:18    [21772097]     Ответить | Цитировать Сообщить модератору
 Re: Запрос через несколько таблиц  [new]
ПЕНСИОНЕРКА
Member

Откуда: Владимирская обл
Сообщений: 4537
а пока на примере SDQU
КодВпилотмаркатипдата вылетадата прилета
1КоляАН-24турбовинтовой01.12.201802.12.2018
2ВасяА-320турбореактивный02.12.201803.12.2018
3ПетяXian МА-700турбовинтовой05.12.201806.12.2018
4АнтонА-320турбореактивный04.12.201806.12.2018


автор
Нужно найти id вылета(vuletid), совершенного пилотом (pilotname) например, Василий
на самолете марки, например, Боинг."


SELECT вылеты.КодВ
FROM типы
 INNER JOIN (пилоты
 INNER JOIN (марка
 INNER JOIN вылеты
 ON марка.КодМ = вылеты.марка)
 ON пилоты.КодП = вылеты.пилот)
 ON типы.КодТ = вылеты.тип
WHERE (((пилоты.пилот) Like "вася*") AND ((марка.марка) Like "*320"));


получим ответ=2

сравните скобки вашего примера и этого
24 дек 18, 14:33    [21772127]     Ответить | Цитировать Сообщить модератору
 Re: Запрос через несколько таблиц  [new]
Serg197311
Member

Откуда: Жуковский
Сообщений: 437
anton6
И так и так скобки ставил... не получается... прошу помочь

Вот заморочился то.... Я через конструктор делаю, он сам все скобки как надо расставляет...
24 дек 18, 14:37    [21772132]     Ответить | Цитировать Сообщить модератору
 Re: Запрос через несколько таблиц  [new]
ПЕНСИОНЕРКА
Member

Откуда: Владимирская обл
Сообщений: 4537
anton6,


добавила записей
КодВпилотмаркатипдата вылетадата прилета
1КоляАН-24турбовинтовой01.12.201802.12.2018
2ВасяА-320турбореактивный02.12.201803.12.2018
3ПетяXian МА-700турбовинтовой05.12.201806.12.2018
4АнтонА-320турбореактивный04.12.201806.12.2018
5КоляАН-24турбовинтовой01.11.201802.12.2018
6ВасяА-320турбореактивный02.11.201803.12.2018
7ПетяXian МА-700турбовинтовой05.11.201806.12.2018
8АнтонА-320турбореактивный04.11.201806.12.2018
9КоляАН-24турбовинтовой01.10.201802.12.2018
10ВасяА-320турбореактивный02.10.201803.12.2018
11ПетяXian МА-700турбовинтовой05.10.201806.12.2018
12АнтонА-320турбореактивный04.10.201806.12.2018



автор
Найти, когда каждый pilotid совершил свой первый вылет и последний вылет и на каком самолете

зап2
SELECT пилоты.пилот,
 Min(вылеты.[дата вылета]) AS [Min-дата вылета],
 Max(вылеты.[дата вылета]) AS [Max-дата вылета]
FROM типы
 INNER JOIN (пилоты
 INNER JOIN (марка
 INNER JOIN вылеты
 ON марка.КодМ = вылеты.марка)
 ON пилоты.КодП = вылеты.пилот)
 ON типы.КодТ = вылеты.тип
GROUP BY пилоты.пилот;


пилотMin-дата вылетаMax-дата вылета
Антон04.10.201804.12.2018
Вася02.10.201802.12.2018
Коля01.10.201801.12.2018
Петя05.10.201805.12.2018


зап3
SELECT вылеты.КодВ, пилоты.пилот, марка.марка, типы.тип,
 вылеты.[дата вылета], вылеты.[дата прилета]
FROM зап2, типы
 INNER JOIN (пилоты
 INNER JOIN (марка
 INNER JOIN вылеты
 ON марка.КодМ = вылеты.марка)
 ON пилоты.КодП = вылеты.пилот)
 ON типы.КодТ = вылеты.тип
WHERE (((вылеты.[дата вылета])=[зап2].[Min-дата вылета]
 Or (вылеты.[дата вылета])=[зап2].[Max-дата вылета]))
ORDER BY пилоты.пилот, вылеты.[дата вылета];


КодВпилотмарка.маркатипдата вылетадата прилета
12АнтонА-320турбореактивный04.10.201806.12.2018
4АнтонА-320турбореактивный04.12.201806.12.2018
10ВасяА-320турбореактивный02.10.201803.12.2018
2ВасяА-320турбореактивный02.12.201803.12.2018
9КоляАН-24турбовинтовой01.10.201802.12.2018
1КоляАН-24турбовинтовой01.12.201802.12.2018
11ПетяXian МА-700турбовинтовой05.10.201806.12.2018
3ПетяXian МА-700турбовинтовой05.12.201806.12.2018
24 дек 18, 14:57    [21772170]     Ответить | Цитировать Сообщить модератору
 Re: Запрос через несколько таблиц  [new]
ПЕНСИОНЕРКА
Member

Откуда: Владимирская обл
Сообщений: 4537
Serg197311
anton6
И так и так скобки ставил... не получается... прошу помочь

Вот заморочился то.... Я через конструктор делаю, он сам все скобки как надо расставляет...

я тоже запрос делаю через конструктор, а уже потом разбиваю на подстроки для переноса в код

причем, всегда без строк продолжение. но с пробелом перед очередной подстрокой

s1=" select ............"
s1=s1 & " from ..........."
s1=s1 & " inner..............."
s1=s1 & " where ..............
24 дек 18, 15:01    [21772178]     Ответить | Цитировать Сообщить модератору
 Re: Запрос через несколько таблиц  [new]
sdku
Member

Откуда: Краснодар
Сообщений: 6005
ПЕНСИОНЕРКА
anton6,
выложите пример базы
Вас же просят. Ванговать же не все умеют
24 дек 18, 15:33    [21772218]     Ответить | Цитировать Сообщить модератору
 Re: Запрос через несколько таблиц  [new]
Serg197311
Member

Откуда: Жуковский
Сообщений: 437
ПЕНСИОНЕРКА
всегда без строк продолжение. но с пробелом перед очередной подстрокой


И я, именно так.
24 дек 18, 15:51    [21772237]     Ответить | Цитировать Сообщить модератору
 Re: Запрос через несколько таблиц  [new]
__Michelle
Member

Откуда:
Сообщений: 3062
anton6
Все...все перегуглил... нашел синтаксис для vba
через одну таблицу запрос сделал, через две никак...
Подскажите, пожалуйста, где неточности


Это работает
sb = "SELECT [Pilots$].PilotID, [Samoletlist$].samoletId, [Samolets$].SamoletsId, [Samolets$].SamoletmarkaId " _
& "FROM ([Pilots$]" _
& "inner JOIN [Samoletlist$] ON [Pilots$].PilotID = [Samoletlist$].PilotID)" _
& "inner JOIN [Samolets$] ON [Samoletlist$].samoletId = [Samolets$].SamoletsId" _
& "Where Name like 'Вася'"

А это уже нет...
sb = "SELECT [Pilots$].PilotID, [Samoletlist$].samoletId, [Samolets$].SamoletsId, [Samolets$].SamoletmarkaId, [SamoletMarka$].SamoletMarkaName  " _
& "FROM ([Pilots$]" _
& "inner JOIN [Samoletlist$] ON [Pilots$].PilotID = [Samoletlist$].PilotID)" _
& "inner JOIN [Samolets$] ON [Samoletlist$].samoletId = [Samolets$].SamoletsId" _
'& "inner JOIN [SamoletMarka$] ON [Samolets$].SamoletmarkaId= [SamoletMarka$].SamoletmarkaId " _
& "Where Name like 'Вася'"


И так и так скобки ставил... не получается... прошу помочь

Скорее поверю, что работает второй запрос, а первый нет.
В первом нет пробела перед WHERE.
sb = "SELECT [Pilots$].PilotID, [Samoletlist$].samoletId, [Samolets$].SamoletsId, [Samolets$].SamoletmarkaId " & _
     "FROM ([Pilots$]" & _
     "inner JOIN [Samoletlist$] ON [Pilots$].PilotID = [Samoletlist$].PilotID)" & _
     "inner JOIN [Samolets$] ON [Samoletlist$].samoletId = [Samolets$].SamoletsId " & _
     "Where Name like 'Вася'"
В конце второй и третьей строки пробелы тоже бы не помешали, хотя их отсутствие и компенсируется другими разделителями - ] и ).
И еще.
Name like 'Вася' смысла не имеет, тогда уж Name = 'Вася'.
24 дек 18, 16:01    [21772249]     Ответить | Цитировать Сообщить модератору
 Re: Запрос через несколько таблиц  [new]
anton6
Member

Откуда:
Сообщений: 80
Все.... написал...час назад...
Дело было в пробеле...


Всем спасибо, но эта задачи заставила меня сдаться))
24 дек 18, 20:22    [21772452]     Ответить | Цитировать Сообщить модератору
 Re: Запрос через несколько таблиц  [new]
anton6
Member

Откуда:
Сообщений: 80
Нет, у Вас не сработало бы...
24 дек 18, 20:23    [21772453]     Ответить | Цитировать Сообщить модератору
 Re: Запрос через несколько таблиц  [new]
anton6
Member

Откуда:
Сообщений: 80
'& "FROM ((([Pilots$]" _
'& "inner JOIN [samoletList$] ON [Pilots$].PilotID = [samoletList$].PilotID)" _
'& "inner JOIN [samolets$] ON [samoletList$].samoletId = [samolets$].SamoletId) left JOIN [samoletmarka$] ON [samolets$].SamoletsmarkaId = [samoletmarka$].SamoletsmarkaId ) " _
'& " Where Name1 like 'Вася%' and samoletmarkaname like 'boing'"
24 дек 18, 20:28    [21772456]     Ответить | Цитировать Сообщить модератору
 Re: Запрос через несколько таблиц  [new]
anton6
Member

Откуда:
Сообщений: 80
sb = "SELECT [samoletList$].samoletListid " _
'& "FROM ((([Pilots$]" _
'& "inner JOIN [samoletList$] ON [Pilots$].PilotID = [samoletList$].PilotID)" _
'& "inner JOIN [samolets$] ON [samoletList$].samoletId = [samolets$].SamoletId) left JOIN [samoletmarka$] ON [samolets$].SamoletsmarkaId = [samoletmarka$].SamoletsmarkaId ) " _
'& " Where Name1 like 'Вася%' and samoletmarkaname like 'boing'"
24 дек 18, 20:29    [21772458]     Ответить | Цитировать Сообщить модератору
 Re: Запрос через несколько таблиц  [new]
anton6
Member

Откуда:
Сообщений: 80
Пробел нужно было ставить в конце строки где select перед кавычками...

Не знаю, как это хакнул... но такой нюансивный и привередливый синтаксис VBA меня почти убил...)))

Я думал я что-то не то делаю... блин...
Всем спасибо)))
24 дек 18, 20:32    [21772460]     Ответить | Цитировать Сообщить модератору
 Re: Запрос через несколько таблиц  [new]
ПЕНСИОНЕРКА
Member

Откуда: Владимирская обл
Сообщений: 4537
anton6
Пробел нужно было ставить в конце строки где select перед кавычками...

я всегда ставлю в начале --для наглядности
24 дек 18, 21:35    [21772484]     Ответить | Цитировать Сообщить модератору
 Re: Запрос через несколько таблиц  [new]
__Michelle
Member

Откуда:
Сообщений: 3062
anton6,
anton6
Пробел нужно было ставить в конце строки где select перед кавычками...

Что-то Вы нас путаете.
В обоих запросах там пробелы стоят. Во втором запросе даже два пробела.

Прислушайтесь все же к совету про Like.
like 'boing'
???
24 дек 18, 22:33    [21772516]     Ответить | Цитировать Сообщить модератору
 Re: Запрос через несколько таблиц  [new]
anton6
Member

Откуда:
Сообщений: 80
Да, нет все сработало, попробуйте сами что-нибудь написать не обязательно этот пример копировать и запускать in Excel, Вы можете "накидать" какой-то свой и проверить, если не верите))и в первой строчке где select в конце перед кавычками " сначала уберать пробел - не сработает!!, а потом добавить... ) - сработает)!

Я сам был сильно удивлен, выражаясь литературно, хотя уверен, что в ms server такой проблемы бы и не возникло...

Еще вторая часть вопроса, с началом концом времени
Нагуглил, но дописать не смог...

1 - Samolets
-----------------------------------
SamoletsId | SamoletsMarkaId
-----------------------------------
1 |33
3 |33
4 |33
5 |33
6 |36
7 |37
8 |38
9 |34
10 |34
11 |35
12 |33


2 - SamoletsMarka
-----------------------------
SamoletsMarkaId | SamoletsMarkaName
-----------------------------
33 | Боинг
34 | Боинг2
35 | Боинг3
36 | Боинг4
37 | Боинг5
38 | Боинг6
39 | Боинг7
39 | Боинг8

3 - Pilots
-----------------------
PilotsID | Names
-----------------------
45 | Вася
46 | Петя
47 | Катя
48 | Ира
49 | Света
50 | Егор
51 | Марина
52 | Игнат
53 | Савелий
54 | Пушкин
55 | Путин
56 | Игор


4 - SamoletsList
---------------------------------------------------------------------------
SamoletsListid | SamoletsId | PilotsID | SamoletsListDate
---------------------------------------------------------------------------
101 | 1 | 45 | 21.13.2009 13:13:35
102 | 2 | 46 | 21.13.2008 13:13:36
103 | 3 | 46 | 15.13.2008 13:13:34
104 | 4 | 45 | 16.13.2008 13:13:34
105 | 5 | 45 | 21.13.2008 13:13:36
106 | 6 | 50 | 18.13.2008 13:13:35
107 | 7 | 51 | 21.13.2008 13:13:36
108 | 8 | 52 | 20.13.2008 13:13:36
109 | 9 | 53 | 23.13.2008 13:13:35
110 | 10 | 53 | 23.13.2008 13:13:36
111 | 11 | 55 | 23.13.2008 13:13:37
112 | 12 | 53 | 24.13.2008 13:13:37




sb= "SELECT [Pilots$].PilotsID, MIN([SamoletsList$].SamoletsListDate), MAX([SamoletsList$].SamoletsListDate) " _
& "FROM ((([Pilots$]" _
& "inner JOIN [SamoletsList$] ON [Pilots$].PilotsID = [SamoletsList$].DriversID)" _
& "inner JOIN [Samolets$] ON [SamoletsList$].SamoletsId = [Samolets$].SamoletsId) left JOIN [SamoletsMarka$] ON [Samolets$].SamoletsMarkaId = [SamoletsMarka$].SamoletsMarkaId) " _
& " Group BY [Pilots$].PilotsID"


Этот запрос работает и выводит id пилота и время вылета первое и второе!!!
Но, я хочу сюда подсоединить еще и на каком самолете был произведен вылет...

Если добавляю после select другие критерии - бейсик ругается, что они, типа, не участвуют в аггрегатной функции

Подскажите, пожалуйста, как дописать этот запрос?
25 дек 18, 00:21    [21772562]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: 1 2      [все]
Все форумы / Microsoft Access Ответить