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

Вход

Регистрация

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

 

= Мир MS Excel/access2010 запрос на выборку из несвязанных таблиц - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, китин  
access2010 запрос на выборку из несвязанных таблиц
vole1977 Дата: Четверг, 19.01.2017, 00:30 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 16
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Добрый день!
Таблица1 содержит поля
СЧ, X, Y
Таблица2 содержит поля
XY, код
Таблицы между собой не связаны, XY=объединение двух полей X и Y
Как сделать запрос который в результате выведет поля
СЧ, X, Y, код
С условием что если при объединении полей X и Y из таблицы 1 не найдено соответствия XY таблицы 2, то код=пусто
Помогите пожалуйста, не представляю с какой стороны подойти к решению этой задачи


с Уважением, Владимир
 
Ответить
СообщениеДобрый день!
Таблица1 содержит поля
СЧ, X, Y
Таблица2 содержит поля
XY, код
Таблицы между собой не связаны, XY=объединение двух полей X и Y
Как сделать запрос который в результате выведет поля
СЧ, X, Y, код
С условием что если при объединении полей X и Y из таблицы 1 не найдено соответствия XY таблицы 2, то код=пусто
Помогите пожалуйста, не представляю с какой стороны подойти к решению этой задачи

Автор - vole1977
Дата добавления - 19.01.2017 в 00:30
anvg Дата: Четверг, 19.01.2017, 07:33 | Сообщение № 2
Группа: Друзья
Ранг: Ветеран
Сообщений: 581
Репутация: 271 ±
Замечаний: 0% ±

2016, 365
Доброе время суток.
Помогите пожалуйста, не представляю с какой стороны подойти к решению этой задачи
Пример таблиц предоставьте, пожалуйста.
А так[vba]
Код

Select СЧ, X, Y, код
From Таблица1
    Left Join Таблица2 On (X & Y = XY)
[/vba]
 
Ответить
СообщениеДоброе время суток.
Помогите пожалуйста, не представляю с какой стороны подойти к решению этой задачи
Пример таблиц предоставьте, пожалуйста.
А так[vba]
Код

Select СЧ, X, Y, код
From Таблица1
    Left Join Таблица2 On (X & Y = XY)
[/vba]

Автор - anvg
Дата добавления - 19.01.2017 в 07:33
Матраскин Дата: Четверг, 19.01.2017, 11:30 | Сообщение № 3
Группа: Друзья
Ранг: Обитатель
Сообщений: 375
Репутация: 81 ±
Замечаний: 0% ±

20xx
anvg, только надо поменять местами таблицы ^_^


в интернете опять кто-то не прав
 
Ответить
Сообщениеanvg, только надо поменять местами таблицы ^_^

Автор - Матраскин
Дата добавления - 19.01.2017 в 11:30
anvg Дата: Четверг, 19.01.2017, 12:42 | Сообщение № 4
Группа: Друзья
Ранг: Ветеран
Сообщений: 581
Репутация: 271 ±
Замечаний: 0% ±

2016, 365
Цитата Матраскин, 19.01.2017 в 11:30, в сообщении № 3 ()
только надо поменять местами таблицы
А зачем?
не найдено соответствия XY таблицы 2, то код=пусто
 
Ответить
Сообщение
Цитата Матраскин, 19.01.2017 в 11:30, в сообщении № 3 ()
только надо поменять местами таблицы
А зачем?
не найдено соответствия XY таблицы 2, то код=пусто

Автор - anvg
Дата добавления - 19.01.2017 в 12:42
Матраскин Дата: Четверг, 19.01.2017, 13:13 | Сообщение № 5
Группа: Друзья
Ранг: Обитатель
Сообщений: 375
Репутация: 81 ±
Замечаний: 0% ±

20xx
anvg, в Вашем варианте код будет не пусто, а его просто не будет, ведь так?


в интернете опять кто-то не прав
 
Ответить
Сообщениеanvg, в Вашем варианте код будет не пусто, а его просто не будет, ведь так?

Автор - Матраскин
Дата добавления - 19.01.2017 в 13:13
anvg Дата: Четверг, 19.01.2017, 14:04 | Сообщение № 6
Группа: Друзья
Ранг: Ветеран
Сообщений: 581
Репутация: 271 ±
Замечаний: 0% ±

2016, 365
Ещё раз
Таблица1 содержит поля
СЧ, X, Y
, тогда при такой конфигурации Left Join будут отображены все значения Таблицы1: СЧ, X, Y и только те значения код Таблицы2, для которых верно условие соединения
Таблица1.X & Таблица1.Y = Таблица2.XY
Если такого совпадения не будет (не найдено соответствие), то код будет Null.
код будет не пусто, а его просто не будет, ведь так?
А в чём разница между терминами
1. не пусто
2. не будет
Исходных таблиц мы не видим. Что подразумевает ТС под пусто? Для меня Null левого соединения (ещё раз повторю ТС - не найдено соответствие). Ячейки вон в Excel некоторые клетками обзывают :)
Если же поменять таблицы местами, то будут выведены все код и только те СЧ, X, Y, которые совпадают по условию (а не все, как подразумевает ТС).


Сообщение отредактировал anvg - Четверг, 19.01.2017, 14:05
 
Ответить
СообщениеЕщё раз
Таблица1 содержит поля
СЧ, X, Y
, тогда при такой конфигурации Left Join будут отображены все значения Таблицы1: СЧ, X, Y и только те значения код Таблицы2, для которых верно условие соединения
Таблица1.X & Таблица1.Y = Таблица2.XY
Если такого совпадения не будет (не найдено соответствие), то код будет Null.
код будет не пусто, а его просто не будет, ведь так?
А в чём разница между терминами
1. не пусто
2. не будет
Исходных таблиц мы не видим. Что подразумевает ТС под пусто? Для меня Null левого соединения (ещё раз повторю ТС - не найдено соответствие). Ячейки вон в Excel некоторые клетками обзывают :)
Если же поменять таблицы местами, то будут выведены все код и только те СЧ, X, Y, которые совпадают по условию (а не все, как подразумевает ТС).

Автор - anvg
Дата добавления - 19.01.2017 в 14:04
Матраскин Дата: Четверг, 19.01.2017, 14:36 | Сообщение № 7
Группа: Друзья
Ранг: Обитатель
Сообщений: 375
Репутация: 81 ±
Замечаний: 0% ±

20xx
anvg, с перестановкой таблиц я точно напутал... но чтобы хоть как-то реабилитироваться, по второму вопросу о пусто и null я могу сказать, что я имел в виду.
[vba]
Код
Nz(Null, 0)
[/vba]


в интернете опять кто-то не прав
 
Ответить
Сообщениеanvg, с перестановкой таблиц я точно напутал... но чтобы хоть как-то реабилитироваться, по второму вопросу о пусто и null я могу сказать, что я имел в виду.
[vba]
Код
Nz(Null, 0)
[/vba]

Автор - Матраскин
Дата добавления - 19.01.2017 в 14:36
vole1977 Дата: Четверг, 19.01.2017, 17:34 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 16
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
anvg, Спасибо Огромное!
реализовал немножко по другому
в таблице 2 были еще поля: XY, X, Y, код, установил 2 связи между таблицей 1 и таблицей 2 по полям X, Y
запрос создался автоматом, все работает
Извините, таблиц выложить не могу, они содержат кучу полей и БД со статусом "секретно"


с Уважением, Владимир
 
Ответить
Сообщениеanvg, Спасибо Огромное!
реализовал немножко по другому
в таблице 2 были еще поля: XY, X, Y, код, установил 2 связи между таблицей 1 и таблицей 2 по полям X, Y
запрос создался автоматом, все работает
Извините, таблиц выложить не могу, они содержат кучу полей и БД со статусом "секретно"

Автор - vole1977
Дата добавления - 19.01.2017 в 17:34
vole1977 Дата: Вторник, 31.01.2017, 22:35 | Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 16
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
anvg, Добрый вечер!
решил внедрить конструкцию с
[vba]
Код
Select СЧ, X, Y, код
From Таблица1
    Left Join Таблица2 On (X & Y = XY)
[/vba]

запрос написал, но есть 2 проблемы
1) при переходе в запросе с режима SQL в режим конструктора возникает ошибка " Приложению Microsoft Access не удается представить выражение объединения..."
2) при выполненном запросе в режиме таблицы не дает редактировать поля X, Y

может есть какой-то другой вариант написания запроса.
изменения в условии:
Таблица1 содержит поля
СЧ, X, Y
Таблица2 содержит поля
XY, X, Y, код
поля X, Y двух таблиц аналогичные XY=объединение двух полей X и Y
пример во воложении
Помогите пожалуйста
К сообщению приложен файл: Database_test_.7z (55.3 Kb)


с Уважением, Владимир
 
Ответить
Сообщениеanvg, Добрый вечер!
решил внедрить конструкцию с
[vba]
Код
Select СЧ, X, Y, код
From Таблица1
    Left Join Таблица2 On (X & Y = XY)
[/vba]

запрос написал, но есть 2 проблемы
1) при переходе в запросе с режима SQL в режим конструктора возникает ошибка " Приложению Microsoft Access не удается представить выражение объединения..."
2) при выполненном запросе в режиме таблицы не дает редактировать поля X, Y

может есть какой-то другой вариант написания запроса.
изменения в условии:
Таблица1 содержит поля
СЧ, X, Y
Таблица2 содержит поля
XY, X, Y, код
поля X, Y двух таблиц аналогичные XY=объединение двух полей X и Y
пример во воложении
Помогите пожалуйста

Автор - vole1977
Дата добавления - 31.01.2017 в 22:35
anvg Дата: Четверг, 02.02.2017, 11:12 | Сообщение № 10
Группа: Друзья
Ранг: Ветеран
Сообщений: 581
Репутация: 271 ±
Замечаний: 0% ±

2016, 365
Доброе время суток.
ошибка " Приложению Microsoft Access не удается представить выражение объединения..."

условие соединения не стандартное (X & Y = XY), вот по этому и ругается. Учитывая структуру таблиц, не совсем понятно для чего было нужно такое условие? Чем не устраивало стандартное вполне себе открываемое в конструкторе?
[vba]
Код
SELECT [УЧЕТНАЯ КАРТОЧКА].СЧ, [УЧЕТНАЯ КАРТОЧКА].ВУС, [УЧЕТНАЯ КАРТОЧКА].КОД, [УЧЕТНАЯ КАРТОЧКА].[Код ОПС], БД_ПАРА_025.ФЗБЗ
FROM [УЧЕТНАЯ КАРТОЧКА] LEFT JOIN БД_ПАРА_025 ON
([УЧЕТНАЯ КАРТОЧКА].КОД = БД_ПАРА_025.КОД) AND ([УЧЕТНАЯ КАРТОЧКА].ВУС = БД_ПАРА_025.ВУС);
[/vba]

при выполненном запросе в режиме таблицы не дает редактировать поля X, Y

Естествено, так как запрос возвращает поля из разных таблиц, поэтому и нельзя редактировать. Да и стоит ли редактировать непосредственно в окне просмотра результата запроса? Для этого служат формы, а факультативно вы можете выводить БД_ПАРА_025.ФЗБЗ как результат запроса в отдельный элемент формы по данным текущей редактируемой записи таблицы [УЧЕТНАЯ КАРТОЧКА]
 
Ответить
СообщениеДоброе время суток.
ошибка " Приложению Microsoft Access не удается представить выражение объединения..."

условие соединения не стандартное (X & Y = XY), вот по этому и ругается. Учитывая структуру таблиц, не совсем понятно для чего было нужно такое условие? Чем не устраивало стандартное вполне себе открываемое в конструкторе?
[vba]
Код
SELECT [УЧЕТНАЯ КАРТОЧКА].СЧ, [УЧЕТНАЯ КАРТОЧКА].ВУС, [УЧЕТНАЯ КАРТОЧКА].КОД, [УЧЕТНАЯ КАРТОЧКА].[Код ОПС], БД_ПАРА_025.ФЗБЗ
FROM [УЧЕТНАЯ КАРТОЧКА] LEFT JOIN БД_ПАРА_025 ON
([УЧЕТНАЯ КАРТОЧКА].КОД = БД_ПАРА_025.КОД) AND ([УЧЕТНАЯ КАРТОЧКА].ВУС = БД_ПАРА_025.ВУС);
[/vba]

при выполненном запросе в режиме таблицы не дает редактировать поля X, Y

Естествено, так как запрос возвращает поля из разных таблиц, поэтому и нельзя редактировать. Да и стоит ли редактировать непосредственно в окне просмотра результата запроса? Для этого служат формы, а факультативно вы можете выводить БД_ПАРА_025.ФЗБЗ как результат запроса в отдельный элемент формы по данным текущей редактируемой записи таблицы [УЧЕТНАЯ КАРТОЧКА]

Автор - anvg
Дата добавления - 02.02.2017 в 11:12
vole1977 Дата: Четверг, 02.02.2017, 11:47 | Сообщение № 11
Группа: Пользователи
Ранг: Новичок
Сообщений: 16
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
anvg, Добрый день!
есть "официальная" БД которая написана еще под Access 97 и которая не удовлетворяет современным требованиям, и есть приблуда на Access2010 которая удаленно подключает некоторые таблицы БД + имеет свои таблицы и запросы. В официальную БД никакие изменения вносить нельзя, все запросы... пишутся только в приблуде. Приблуда используется только для того, чтобы вытащить необходимые данные в эксель и уже потом строить разные отчеты... Некоторые поля БД через официальный интерфейс менять очень неудобно, а порою невозможно, поэтому для таких случаев изменеия вносятся напрямую в БД.
Стандартное решение работает, но теряется возможность редактирования, поэтому очень хочется найти другое решение
вот такие дела...


с Уважением, Владимир
 
Ответить
Сообщениеanvg, Добрый день!
есть "официальная" БД которая написана еще под Access 97 и которая не удовлетворяет современным требованиям, и есть приблуда на Access2010 которая удаленно подключает некоторые таблицы БД + имеет свои таблицы и запросы. В официальную БД никакие изменения вносить нельзя, все запросы... пишутся только в приблуде. Приблуда используется только для того, чтобы вытащить необходимые данные в эксель и уже потом строить разные отчеты... Некоторые поля БД через официальный интерфейс менять очень неудобно, а порою невозможно, поэтому для таких случаев изменеия вносятся напрямую в БД.
Стандартное решение работает, но теряется возможность редактирования, поэтому очень хочется найти другое решение
вот такие дела...

Автор - vole1977
Дата добавления - 02.02.2017 в 11:47
anvg Дата: Четверг, 02.02.2017, 22:18 | Сообщение № 12
Группа: Друзья
Ранг: Ветеран
Сообщений: 581
Репутация: 271 ±
Замечаний: 0% ±

2016, 365
все запросы... пишутся только в приблуде

Обычно так и делают - база отдельно, клиент отдельно.
Некоторые поля БД через официальный интерфейс менять очень неудобно, а порою невозможно
Честно говоря, из вашего объяснения не понятно почему. Таблицы внешней БД подключены
которая удаленно подключает некоторые таблицы БД

поэтому не вижу проблем поменять в подключенных таблицах значения.
 
Ответить
Сообщение
все запросы... пишутся только в приблуде

Обычно так и делают - база отдельно, клиент отдельно.
Некоторые поля БД через официальный интерфейс менять очень неудобно, а порою невозможно
Честно говоря, из вашего объяснения не понятно почему. Таблицы внешней БД подключены
которая удаленно подключает некоторые таблицы БД

поэтому не вижу проблем поменять в подключенных таблицах значения.

Автор - anvg
Дата добавления - 02.02.2017 в 22:18
vole1977 Дата: Пятница, 03.02.2017, 00:44 | Сообщение № 13
Группа: Пользователи
Ранг: Новичок
Сообщений: 16
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
anvg, Добрый вечер!
на данный момент запрос вытягивает из БД около 30 полей, данные которых берутся из разных таблиц БД. Правке могут подвергаться записи, которые удовлетворяют некоторым заданным условиям устанавливаемым фильтрами. Да, можно запустить на выполнение запрос, отфильтровать полученные данные, потом полезть в нужную таблицу, найти ту запись которую нужно поправить, поправить ее потом найти еще 100 таких записей по ключевому полю и промудохаться всю ночь или поправить уже отфильтрованные данные в запросе за 30 минут... вот собственно и все проблемы


с Уважением, Владимир
 
Ответить
Сообщениеanvg, Добрый вечер!
на данный момент запрос вытягивает из БД около 30 полей, данные которых берутся из разных таблиц БД. Правке могут подвергаться записи, которые удовлетворяют некоторым заданным условиям устанавливаемым фильтрами. Да, можно запустить на выполнение запрос, отфильтровать полученные данные, потом полезть в нужную таблицу, найти ту запись которую нужно поправить, поправить ее потом найти еще 100 таких записей по ключевому полю и промудохаться всю ночь или поправить уже отфильтрованные данные в запросе за 30 минут... вот собственно и все проблемы

Автор - vole1977
Дата добавления - 03.02.2017 в 00:44
  • Страница 1 из 1
  • 1
Поиск:

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