|
проблема с отбором в подчиненном отчете записей по части значения поля
|
|||
---|---|---|---|
#18+
Здравствуйте! Пожалуйста, натолкните на мысль Есть две таблицы - содержимое поля одной таблицы содержится как часть поля другой. Мне надо найти количество записей из второй таблицы, в целевом поле в которых содержится значение поля первой таблицы Ну что-то типа SELECT (SELECT Count([Tablica2].[Pole2]) FROM [Tablica2] WHERE [Tablica2].[Pole2] LIKE "*" & [Tablica1].[Pole1] & "*")) FROM [Tablica1] С Like ругается "ошибка синтаксиса", без Like работает на ура, но надо именно отобрать по части значения поля ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2017, 20:46 |
|
проблема с отбором в подчиненном отчете записей по части значения поля
|
|||
---|---|---|---|
#18+
DimaDimaDima, Код: vbnet 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2017, 21:36 |
|
проблема с отбором в подчиненном отчете записей по части значения поля
|
|||
---|---|---|---|
#18+
sdku, спасибо, но DCount медленно пашет. А через подчиненный не получится? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2017, 22:28 |
|
проблема с отбором в подчиненном отчете записей по части значения поля
|
|||
---|---|---|---|
#18+
DimaDimaDima, В данном случае Dcount,грубо говоря= "SELECT Count(Pole) FROM tbl WHERE Pole Like'*" & условие & "*'" и какой-либо существенной разницы в скорости не будет.Вот если в третьем аргументе Dcount какая-либо функция или "серьезное" выражение-тады утверждение о низкой скорости будет верным ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2017, 00:35 |
|
проблема с отбором в подчиненном отчете записей по части значения поля
|
|||
---|---|---|---|
#18+
sdku, "SELECT Count(Pole) FROM tbl WHERE Pole Like'*" & условие & "*'" а как это описать как подчиненный запрос, чтобы "условие" было ссылкой на поле основного запроса? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2017, 07:49 |
|
проблема с отбором в подчиненном отчете записей по части значения поля
|
|||
---|---|---|---|
#18+
DimaDimaDima, Да кто ж Вам наговорил,что Dcount медленнее запроса-переройте интернет и покажите выдержку или укажите ссылку на серьезный материал,где это написано (найдете что RecordCount работает побыстрей, а Dcount и запрос-по сути одно и то же.Для тех кто в танке: Dcount и SELECT...FROM.....WHERE... это одно и то же) А впрочем делайте что хотите (Ваша ошибка была в синтаксисе и попытке приплести подчиненный отчет туда,где он абсолютно не нужен: ответьте себе-как же может один запрос работать дольше двух -главного и подчиненного ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2017, 11:08 |
|
проблема с отбором в подчиненном отчете записей по части значения поля
|
|||
---|---|---|---|
#18+
sdkuDimaDimaDima, Да кто ж Вам наговорил,что Dcount медленнее запроса... например http://alx-artamonov.narod.ru/index/0-13 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2017, 11:47 |
|
проблема с отбором в подчиненном отчете записей по части значения поля
|
|||
---|---|---|---|
#18+
guest_rusimportsdkuDimaDimaDima, Да кто ж Вам наговорил,что Dcount медленнее запроса... например http://alx-artamonov.narod.ru/index/0-13 ссылку прямо "с языка снял" ))) но коллега просил "серьезную" Помню, встречал либо у Гетца, или аналогичных "монстров", только давно это было. Постараюсь найти. Сильно сомневаюсь, чтобы оптимизатор запросов Access также оптимизировал и работу DSum в запросе, например, кеширование Workspace, в котором работает DSum, открытие каждый раз набора данных и так далее. А впрочем делайте что хотите не хотел Вас обидеть (Ваша ошибка была в синтаксисе и попытке приплести подчиненный отчет туда,где он абсолютно не нужен: ответьте себе-как же может один запрос работать дольше двух-главного и подчиненного Пожалуйста, покажите, где ошибка в моем варианте в первом посте? как правильно составить условие WHERE подзапроса? ответьте себе-как же может один запрос работать дольше двух-главного и подчиненного Dsum тоже будет подчиненным (т.е. вызываться каждый раз заново для каждой строки основного запроса) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2017, 12:10 |
|
проблема с отбором в подчиненном отчете записей по части значения поля
|
|||
---|---|---|---|
#18+
DimaDimaDimaНу что-то типа SELECT (SELECT Count([Tablica2].[Pole2]) FROM [Tablica2] WHERE [Tablica2].[Pole2] LIKE "*" & [Tablica1].[Pole1] & "*")) FROM [Tablica1] С Like ругается "ошибка синтаксиса", без Like работает на ура, но надо именно отобрать по части значения поляЧто-то типа так Код: sql 1.
работает на ура. Вопрос в том, как выглядит оригинальный запрос и как его отрабатывают... ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2017, 12:36 |
|
проблема с отбором в подчиненном отчете записей по части значения поля
|
|||
---|---|---|---|
#18+
DimaDimaDimaЗдравствуйте! Пожалуйста, натолкните на мысль Есть две таблицы - содержимое поля одной таблицы содержится как часть поля другой. Мне надо найти количество записей из второй таблицы, в целевом поле в которых содержится значение поля первой таблицы Ну что-то типа SELECT (SELECT Count([Tablica2].[Pole2]) FROM [Tablica2] WHERE [Tablica2].[Pole2] LIKE "*" & [Tablica1].[Pole1] & "*") ) FROM [Tablica1] С Like ругается "ошибка синтаксиса", без Like работает на ура, но надо именно отобрать по части значения поля Лишняя скобка перед FROM - помечена красным. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2017, 12:44 |
|
проблема с отбором в подчиненном отчете записей по части значения поля
|
|||
---|---|---|---|
#18+
а как же быть с этой фразой из той же статьи: "Бывают случаи, когда доменная агрегатная функция все-таки является лучшим решением, которое у вас есть" (я лично затрудняюсь придумать запрос с подчиненным для решения данной задачи) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2017, 13:13 |
|
проблема с отбором в подчиненном отчете записей по части значения поля
|
|||
---|---|---|---|
#18+
sdkuа как же быть с этой фразой из той же статьи: "Бывают случаи, когда доменная агрегатная функция все-таки является лучшим решением, которое у вас есть" (я лично затрудняюсь придумать запрос с подчиненным для решения данной задачи)Например, если нужен обновляемый запрос, тогда приходится использовать доменные функции. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2017, 13:20 |
|
проблема с отбором в подчиненном отчете записей по части значения поля
|
|||
---|---|---|---|
#18+
может я не правильно определяю время выполнения? см.Form1 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2017, 14:54 |
|
проблема с отбором в подчиненном отчете записей по части значения поля
|
|||
---|---|---|---|
#18+
ПанургDimaDimaDimaНу что-то типа SELECT (SELECT Count([Tablica2].[Pole2]) FROM [Tablica2] WHERE [Tablica2].[Pole2] LIKE "*" & [Tablica1].[Pole1] & "*")) FROM [Tablica1] С Like ругается "ошибка синтаксиса", без Like работает на ура, но надо именно отобрать по части значения поляЧто-то типа так Код: sql 1.
работает на ура. Вопрос в том, как выглядит оригинальный запрос и как его отрабатывают... лишней скобки, конечно, нет - ее сразу анализатор синтаксиса выявит. Ошибка возникала в момент вызова сохраненного запроса на исполнение. Удалил запрос, сжал базу, создал заново - работает. Сделал выводы. Всем спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2017, 06:50 |
|
проблема с отбором в подчиненном отчете записей по части значения поля
|
|||
---|---|---|---|
#18+
DimaDimaDima.....лишней скобки, конечно, нет. ....Конечно, есть. Не в выражении Панург, а в Вашем, из стартового поста 20917287 . Посчитайте открывающие и закрывающие скобки. DimaDimaDima.....ее сразу анализатор синтаксиса выявит. ....Так и есть: DimaDimaDimaругается "ошибка синтаксиса" ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2017, 08:50 |
|
|
start [/forum/topic.php?fid=45&msg=39545828&tid=1611946]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
93ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 259ms |
total: | 448ms |
0 / 0 |