powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / проблема с отбором в подчиненном отчете записей по части значения поля
15 сообщений из 15, страница 1 из 1
проблема с отбором в подчиненном отчете записей по части значения поля
    #39545597
DimaDimaDima
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!

Пожалуйста, натолкните на мысль
Есть две таблицы - содержимое поля одной таблицы содержится как часть поля другой.
Мне надо найти количество записей из второй таблицы, в целевом поле в которых содержится значение поля первой таблицы

Ну что-то типа

SELECT (SELECT Count([Tablica2].[Pole2]) FROM [Tablica2] WHERE [Tablica2].[Pole2] LIKE "*" & [Tablica1].[Pole1] & "*")) FROM [Tablica1]

С Like ругается "ошибка синтаксиса", без Like работает на ура, но надо именно отобрать по части значения поля
...
Рейтинг: 0 / 0
проблема с отбором в подчиненном отчете записей по части значения поля
    #39545627
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaDimaDima,
Код: vbnet
1.
2.
SELECT Таблица1.ctl1, DCount("ctl","таблица2","ctl like'*" & [ctl1] & "*'") AS Выражение1
FROM Таблица1;
...
Рейтинг: 0 / 0
проблема с отбором в подчиненном отчете записей по части значения поля
    #39545638
DimaDimaDima
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdku,

спасибо, но DCount медленно пашет. А через подчиненный не получится?
...
Рейтинг: 0 / 0
проблема с отбором в подчиненном отчете записей по части значения поля
    #39545673
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaDimaDima,
В данном случае Dcount,грубо говоря= "SELECT Count(Pole) FROM tbl WHERE Pole Like'*" & условие & "*'" и какой-либо существенной разницы в скорости не будет.Вот если в третьем аргументе Dcount какая-либо функция или "серьезное" выражение-тады утверждение о низкой скорости будет верным
...
Рейтинг: 0 / 0
проблема с отбором в подчиненном отчете записей по части значения поля
    #39545717
DimaDimaDima
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdku,

"SELECT Count(Pole) FROM tbl WHERE Pole Like'*" & условие & "*'"

а как это описать как подчиненный запрос, чтобы "условие" было ссылкой на поле основного запроса?
...
Рейтинг: 0 / 0
проблема с отбором в подчиненном отчете записей по части значения поля
    #39545828
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaDimaDima,
Да кто ж Вам наговорил,что Dcount медленнее запроса-переройте интернет и покажите выдержку или укажите ссылку на серьезный материал,где это написано (найдете что RecordCount работает побыстрей, а Dcount и запрос-по сути одно и то же.Для тех кто в танке:
Dcount и SELECT...FROM.....WHERE... это одно и то же)
А впрочем делайте что хотите (Ваша ошибка была в синтаксисе и попытке приплести подчиненный отчет туда,где он абсолютно не нужен: ответьте себе-как же может один запрос работать дольше двух -главного и подчиненного
...
Рейтинг: 0 / 0
проблема с отбором в подчиненном отчете записей по части значения поля
    #39545847
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdkuDimaDimaDima,
Да кто ж Вам наговорил,что Dcount медленнее запроса...
например
http://alx-artamonov.narod.ru/index/0-13
...
Рейтинг: 0 / 0
проблема с отбором в подчиненном отчете записей по части значения поля
    #39545874
DimaDimaDima
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_rusimportsdkuDimaDimaDima,
Да кто ж Вам наговорил,что Dcount медленнее запроса...
например
http://alx-artamonov.narod.ru/index/0-13

ссылку прямо "с языка снял" )))

но коллега просил "серьезную"

Помню, встречал либо у Гетца, или аналогичных "монстров", только давно это было. Постараюсь найти.

Сильно сомневаюсь, чтобы оптимизатор запросов Access также оптимизировал и работу DSum в запросе, например, кеширование Workspace, в котором работает DSum, открытие каждый раз набора данных и так далее.

А впрочем делайте что хотите
не хотел Вас обидеть

(Ваша ошибка была в синтаксисе и попытке приплести подчиненный отчет туда,где он абсолютно не нужен: ответьте себе-как же может один запрос работать дольше двух-главного и подчиненного
Пожалуйста, покажите, где ошибка в моем варианте в первом посте? как правильно составить условие WHERE подзапроса?

ответьте себе-как же может один запрос работать дольше двух-главного и подчиненного

Dsum тоже будет подчиненным (т.е. вызываться каждый раз заново для каждой строки основного запроса)
...
Рейтинг: 0 / 0
проблема с отбором в подчиненном отчете записей по части значения поля
    #39545902
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaDimaDimaНу что-то типа

SELECT (SELECT Count([Tablica2].[Pole2]) FROM [Tablica2] WHERE [Tablica2].[Pole2] LIKE "*" & [Tablica1].[Pole1] & "*")) FROM [Tablica1]

С Like ругается "ошибка синтаксиса", без Like работает на ура, но надо именно отобрать по части значения поляЧто-то типа так
Код: sql
1.
SELECT (SELECT Count(Tablica2.Pole2) FROM Tablica2 WHERE Tablica2.Pole2 Like "*" &  Tablica1.Pole1 & "*") FROM Tablica1

работает на ура. Вопрос в том, как выглядит оригинальный запрос и как его отрабатывают...
...
Рейтинг: 0 / 0
проблема с отбором в подчиненном отчете записей по части значения поля
    #39545919
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaDimaDimaЗдравствуйте!

Пожалуйста, натолкните на мысль
Есть две таблицы - содержимое поля одной таблицы содержится как часть поля другой.
Мне надо найти количество записей из второй таблицы, в целевом поле в которых содержится значение поля первой таблицы

Ну что-то типа

SELECT (SELECT Count([Tablica2].[Pole2]) FROM [Tablica2] WHERE [Tablica2].[Pole2] LIKE "*" & [Tablica1].[Pole1] & "*") ) FROM [Tablica1]

С Like ругается "ошибка синтаксиса", без Like работает на ура, но надо именно отобрать по части значения поля
Лишняя скобка перед FROM - помечена красным.
...
Рейтинг: 0 / 0
проблема с отбором в подчиненном отчете записей по части значения поля
    #39545945
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а как же быть с этой фразой из той же статьи: "Бывают случаи, когда доменная агрегатная функция все-таки является лучшим решением, которое у вас есть" (я лично затрудняюсь придумать запрос с подчиненным для решения данной задачи)
...
Рейтинг: 0 / 0
проблема с отбором в подчиненном отчете записей по части значения поля
    #39545954
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdkuа как же быть с этой фразой из той же статьи: "Бывают случаи, когда доменная агрегатная функция все-таки является лучшим решением, которое у вас есть" (я лично затрудняюсь придумать запрос с подчиненным для решения данной задачи)Например, если нужен обновляемый запрос, тогда приходится использовать доменные функции.
...
Рейтинг: 0 / 0
проблема с отбором в подчиненном отчете записей по части значения поля
    #39546072
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может я не правильно определяю время выполнения?
см.Form1
...
Рейтинг: 0 / 0
проблема с отбором в подчиненном отчете записей по части значения поля
    #39546495
DimaDimaDima
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПанургDimaDimaDimaНу что-то типа

SELECT (SELECT Count([Tablica2].[Pole2]) FROM [Tablica2] WHERE [Tablica2].[Pole2] LIKE "*" & [Tablica1].[Pole1] & "*")) FROM [Tablica1]

С Like ругается "ошибка синтаксиса", без Like работает на ура, но надо именно отобрать по части значения поляЧто-то типа так
Код: sql
1.
SELECT (SELECT Count(Tablica2.Pole2) FROM Tablica2 WHERE Tablica2.Pole2 Like "*" &  Tablica1.Pole1 & "*") FROM Tablica1

работает на ура. Вопрос в том, как выглядит оригинальный запрос и как его отрабатывают...

лишней скобки, конечно, нет - ее сразу анализатор синтаксиса выявит. Ошибка возникала в момент вызова сохраненного запроса на исполнение.
Удалил запрос, сжал базу, создал заново - работает.
Сделал выводы.
Всем спасибо.
...
Рейтинг: 0 / 0
проблема с отбором в подчиненном отчете записей по части значения поля
    #39546514
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaDimaDima.....лишней скобки, конечно, нет. ....Конечно, есть.
Не в выражении Панург, а в Вашем, из стартового поста 20917287 .
Посчитайте открывающие и закрывающие скобки.
DimaDimaDima.....ее сразу анализатор синтаксиса выявит. ....Так и есть:
DimaDimaDimaругается "ошибка синтаксиса"
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / проблема с отбором в подчиненном отчете записей по части значения поля
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]