Гость
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Добавления результата проверки в новый столбец / 25 сообщений из 26, страница 1 из 2
02.07.2014, 12:39
    #38685636
ВЕРТИ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавления результата проверки в новый столбец
Здравствуйте!

На другой ветке форума сделали запрос в базе Acssess на проверку значений таблицы.
Можно ли сделать такой запрос в Excel? Я уже всё перепробовал - не получается.

Спасибо.
...
Рейтинг: 0 / 0
02.07.2014, 12:51
    #38685651
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавления результата проверки в новый столбец
ВЕРТИне получаетсяудивительно развернутое описание проблемы

ЗЫ: я ваши файлы попробовал, у меня все получается
...
Рейтинг: 0 / 0
02.07.2014, 13:03
    #38685676
ВЕРТИ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавления результата проверки в новый столбец
Shocker.Pro,

Дело в том, что сам запрос формируется в базе данных. А мне нужно чтобы я в модуле Excel сформировал запрос и отправил его в базу данных.
Я пробовал так, но не получалось (ошибка с кол-во аргументов выводилась):
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
    SELECT *, 
    IIF(EXISTS(SELECT * FROM ВТОРАЯ WHERE 
                ВТОРАЯ.NAME = ПЕРВАЯ.NAME  
            and ВТОРАЯ.SITY = ПЕРВАЯ.SITY  
            and ВТОРАЯ.OLD = ПЕРВАЯ.OLD) 
            , 'ОК', 'НЕТ') as ПРОВЕРКА 
    FROM ПЕРВАЯ 
    WHERE ПЕРВАЯ.ID=15000


Пробовал с функцией DCOUNT, но тоже ничего (на ветке с Acssess Добавления результата проверки в новый столбец сказали что с этой функцией не получится ...).
...
Рейтинг: 0 / 0
02.07.2014, 13:17
    #38685699
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавления результата проверки в новый столбец
в подзапросе вы выбираете только из таблицы ВТОРАЯ, но пытаетесь использовать имя ПЕРВАЯ, которое вы не выбираете

и вообще, нафиг там подзапрос? обычным join решается проблема
...
Рейтинг: 0 / 0
02.07.2014, 13:31
    #38685712
ВЕРТИ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавления результата проверки в новый столбец
Shocker.Proв подзапросе вы выбираете только из таблицы ВТОРАЯ, но пытаетесь использовать имя ПЕРВАЯ, которое вы не выбираете

и вообще, нафиг там подзапрос? обычным join решается проблема

Не совсем - нужно импортировать в Excel таблицу точно такую же как в базе, а при объединении кол-во строк будет увеличено, если во второй таблице будет более 1 совпадения.
...
Рейтинг: 0 / 0
02.07.2014, 13:31
    #38685713
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавления результата проверки в новый столбец
Еще косяки:
В таблице ПЕРВАЯ нет поля CITY
В таблицах не совпадают типы данных для полей OLD (в одной текстовый, в другой числовой)
...
Рейтинг: 0 / 0
02.07.2014, 13:32
    #38685715
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавления результата проверки в новый столбец
ВЕРТИбудет увеличено для избежания этого существует оператор GROUP BY
...
Рейтинг: 0 / 0
02.07.2014, 13:38
    #38685723
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавления результата проверки в новый столбец
Shocker.ProВЕРТИбудет увеличено для избежания этого существует оператор GROUP BYВ любом случае этот "аксессовский" sql-синтаксис, где вы можете в подзапросе использовать поля вышестоящей таблицы, в jet не пройдет, так что пишите join
...
Рейтинг: 0 / 0
02.07.2014, 13:45
    #38685732
ВЕРТИ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавления результата проверки в новый столбец
Shocker.Pro,

А можно базу SQL использовать, где SQL запросы нормально проходят?
Может подскажите ресурс с описанием?

И по поводу GROUP BY - пробую
...
Рейтинг: 0 / 0
02.07.2014, 14:01
    #38685755
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавления результата проверки в новый столбец
ВЕРТИА можно базу SQL использовать, где SQL запросы нормально проходят?вы у меня разрешения спрашиваете? Благословляю!

Выбор СУБД зависит от конкретных задач, естественно.
...
Рейтинг: 0 / 0
02.07.2014, 14:02
    #38685757
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавления результата проверки в новый столбец
ВЕРТИгде SQL запросы нормально проходят?такой запрос, как вы написали, проходит только в аксесс, он (если не ошибаюсь) не соответствует стандартам sql
...
Рейтинг: 0 / 0
02.07.2014, 14:07
    #38685765
ВЕРТИ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавления результата проверки в новый столбец
Shocker.Pro,

Всё дело в одинарных кавычках - все функции работают. Но не могу понять почему у них результат не тот что я предполагаю (в приложении и база и файл с всеми функциями).

Прошу в этом помочь.
...
Рейтинг: 0 / 0
02.07.2014, 14:10
    #38685772
ВЕРТИ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавления результата проверки в новый столбец
функция просто возвращает кол-во строк во ВТОРОЙ таблице. А почему?
...
Рейтинг: 0 / 0
02.07.2014, 14:24
    #38685795
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавления результата проверки в новый столбец
ВЕРТИфункция просто возвращает кол-во строк во ВТОРОЙ таблице. А почему?А почему она должна возвращать что-то другое? ВЕРТИрезультат не тот что я предполагаюоткуда функции знать, что вы предполагаете?
...
Рейтинг: 0 / 0
02.07.2014, 14:37
    #38685814
ВЕРТИ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавления результата проверки в новый столбец
Shocker.Pro,

в запросе должно быть подсчитано кол-во строк, которые соответствуют условиям.
...
Рейтинг: 0 / 0
02.07.2014, 14:41
    #38685818
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавления результата проверки в новый столбец
ВЕРТИв запросе должно бытьтолько запрос об этом не знает, потому что вы это запросу не сказали!

ох, блин, проще самому написать, чем заставить вас переписать запрос не через ж..у

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Query = _
    "SELECT ПЕРВАЯ.ID, ПЕРВАЯ.NAME, ПЕРВАЯ.SITY, ПЕРВАЯ.OLD, ПЕРВАЯ.УК, " & _
    "Count(ВТОРАЯ.ID) AS ПРОВЕРКА " & _
    "FROM ПЕРВАЯ  " & _
    "LEFT JOIN ВТОРАЯ ON " & _
            "    ВТОРАЯ.NAME = ПЕРВАЯ.NAME  " & _
            "and ВТОРАЯ.SITY = ПЕРВАЯ.SITY  " & _
            "and ВТОРАЯ.ID = ПЕРВАЯ.ID " & _
            "and ВТОРАЯ.OLD = ПЕРВАЯ.OLD " & _
    "WHERE ПЕРВАЯ.ID=15000 " & _
    "GROUP BY ПЕРВАЯ.ID, ПЕРВАЯ.NAME, ПЕРВАЯ.SITY, ПЕРВАЯ.OLD, ПЕРВАЯ.УК"
...
Рейтинг: 0 / 0
02.07.2014, 14:44
    #38685826
ВЕРТИ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавления результата проверки в новый столбец
Shocker.Pro,

Запрос пробую. Так почему функция DCOUNT не срабатывает?
...
Рейтинг: 0 / 0
02.07.2014, 14:50
    #38685833
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавления результата проверки в новый столбец
ВЕРТИТак почему функция DCOUNT не срабатывает?Почему? Она срабатывает, честно считает количество записей в объединении двух таблиц.
...
Рейтинг: 0 / 0
02.07.2014, 15:07
    #38685858
ВЕРТИ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавления результата проверки в новый столбец
Shocker.ProВЕРТИТак почему функция DCOUNT не срабатывает?Почему? Она срабатывает, честно считает количество записей в объединении двух таблиц.

Это в Вашем запросе функция COUN работает. А в моём то нет. Я про это спрашиваю.
...
Рейтинг: 0 / 0
02.07.2014, 15:14
    #38685876
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавления результата проверки в новый столбец
и я говорю про ваш DCOUNT. Он честно показывает то, что вы от него просите - 4 записи.
...
Рейтинг: 0 / 0
02.07.2014, 15:20
    #38685892
ВЕРТИ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавления результата проверки в новый столбец
Shocker.Pro,

Для этого (показа 4-х строк) нужно выполнение всех условий - а по факту нет такого.
...
Рейтинг: 0 / 0
02.07.2014, 15:36
    #38685917
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавления результата проверки в новый столбец
Она показывает количество записей в таблице ВТОРАЯ
В качестве третьего параметра (условия) нам написан какой-то бред, даже говорит не о чем, текстовые константы объединенные логическими операторами.

Не надо использовать такую констукцию, это неправильно.
...
Рейтинг: 0 / 0
02.07.2014, 15:43
    #38685924
ВЕРТИ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавления результата проверки в новый столбец
Shocker.Pro,

Вас понял. А как тогда использовать функцию DCOUNT?
...
Рейтинг: 0 / 0
02.07.2014, 15:54
    #38685942
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавления результата проверки в новый столбец
Согласно справке.

Ее НЕ НАДО!!!!!! использовать как часть SQL-запроса. Она используется, например, в полях аксесса как самостоятельная функция.
...
Рейтинг: 0 / 0
02.07.2014, 16:01
    #38685946
ВЕРТИ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавления результата проверки в новый столбец
Shocker.ProСогласно справке.

Ее НЕ НАДО!!!!!! использовать как часть SQL-запроса. Она используется, например, в полях аксесса как самостоятельная функция.

Понял. Спасибо Вам за помощь.
В итоге запрос для обработки 750 000 записей зависает. Но на заметку я себе взял.
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Добавления результата проверки в новый столбец / 25 сообщений из 26, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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