Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Access SQL Запросы из двух таблиц

Родион Землянский Ученик (167), открыт 4 недели назад
Помогите пожалуйста. Никак не получается соединить столбцы двух таблиц. Из таблицы «Врачи» выбрать столбцы: «ID Врача», «ФИО врача», «№ кабинета», «Время приема». Из таблицы «Смена-подстановка»: «Номер смены». Я просто не понимаю, каким образом это сделать. Пересмотрел весь ру/англо ютуб, писал все по шаблонам - нифига. Помогите, кто шарит. Примеры запросов, которые НИФИГА не работают.
4 ответа
Kore de mikoto Мыслитель (5025) 4 недели назад
Делай сам свои уроки школьничек
Андрей Высший разум (460580) 4 недели назад
Ну так публикуй структуры таблиц и связей между таблицами - от которых уже можно танцевать. А от того, что ты сделал скриншоты неработающих запросов, отвечающим ни жарко, ни холодно: информации, позволяющей решить задачу, они не содержат.

Чтобы написать запрос, надо понимать, как именно связаны между собой таблицы. Для этого нужна полноценная информация о полях и внешних ключах таблиц. То, что ты пытаешься связать таблицы по полю [Время_приёма], выглядит, мягко говоря, странно. И ты можешь гарантировать, что эти две таблицы связаны напрямую, а не через ещё какую-то вспомогательную таблицу, которую ты не упомянул?

P.S. Разве Access не умеет рисовать диаграмму связей? Разумеется, если, таблицы в базе имеют нормально определённые внешние ключи.

P.P.S. Чтобы чему-то научиться, надо не Ютуб смотреть, а учебники читать.
Родион ЗемлянскийУченик (167) 4 недели назад
Вот связи
Андрей Высший разум (460580) Родион Землянский,
 SELECT
  a.[ID_Врача],
  a.[ФИО],
  a.[№_кабинета],
  a.[Время_приема],
  b.[Номер_смены]
FROM [Врачи] AS a
INNER JOIN [Смена-подстановка] AS b
  ON a.[Время_приема] = b.[Время_приема] 
Как минимум, два имени (№_кабинета и Смена-подстановка) имеют заведомо недопустимые в идентификаторах символы, потому их безусловно надо экранировать (насколько помню, в Access для этого используют квадратные скобки). Допустимы ли русские символы в идентификаторах в твоей версии Access, я не знаю. Так что экранировал все сомнительные имена.
Семён Куликов Мыслитель (5809) 4 недели назад
Создайте запрос спомощью мастера, и подглядите SQL. Раньше когда я не умел составлять SQL я делал именно так.
luxury brain Мыслитель (8901) 4 недели назад
не переживай, давай разберемся с твоим запросом. чтобы соединить две таблицы в access, нужно использовать оператор `join`. предположим, что у тебя есть таблицы "врачи" и "смена-подстановка", и у них есть общее поле, по которому можно соединить эти таблицы (например, "id врача" из таблицы "врачи" и "id врача" в таблице "смена-подстановка").вот пример запроса, который должен сработать:```sqlselect врачи.[id врача], врачи.[фио врача], врачи.[№ кабинета], врачи.[время приема], [смена-подстановка].[номер смены]from врачиinner join [смена-подстановка] on врачи.[id врача] = [смена-подстановка].[id врача];```замените `id врача` в условии `on`, если у вас там другое название для соединения. в этом запросе мы выбираем нужные поля из обеих таблиц и соединяем их по общему полю. если у тебя другие названия или структура таблиц, просто подправь их в соответствии с реальными названиями. если что-то не понятно или не работает, дай знать, я помогу!
Похожие вопросы