powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как должен выглядеть SQL запрос в Аксесе чтобы он дклал следующее: (+)
16 сообщений из 16, страница 1 из 1
Как должен выглядеть SQL запрос в Аксесе чтобы он дклал следующее: (+)
    #32325562
Гоша
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как должен выглядеть SQL запрос в Аксесе чтобы он дклал следующее: обновлял первый десять записей если знасение одного из полей равно 0?
В MS SQL работает такой:
UPDATE words SET words.les_num = 1
WHERE les_num in (SELECT TOP 10 les_num FROM words WHERE les_num=0);
А в Аксесе обновляет все записи в которых заданное поле равно 0.
...
Рейтинг: 0 / 0
Как должен выглядеть SQL запрос в Аксесе чтобы он дклал следующее: (+)
    #32325564
Гоша
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну что же все молчат, что ни кто с таким не сталкивался?
...
Рейтинг: 0 / 0
Как должен выглядеть SQL запрос в Аксесе чтобы он дклал следующее: (+)
    #32325567
Фотография TatianaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может я ошибаюсь но в аксесе в запросе на UPDATE Тор нельзя использовать

т.е тебе надо построить 2 запроса: 1й- селест с Тор-ом и сохранить его
а 2й -делать UPDATE записей из того запроса
...
Рейтинг: 0 / 0
Как должен выглядеть SQL запрос в Аксесе чтобы он дклал следующее: (+)
    #32325569
Гоша
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В том то и дело что просто используется просто база Аксесовская а весь интерфейс пишется на C# и как там все это замутить ума не приложу :(
...
Рейтинг: 0 / 0
Как должен выглядеть SQL запрос в Аксесе чтобы он дклал следующее: (+)
    #32325571
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
По-моему, с TOP'ом все в порядке. Только я не понял вот это:

WHERE les_num in (SELECT TOP 10 les_num FROM words WHERE les_num=0)

То есть не ключ проверяется, а les_num. Это все равно, что написать:

UPDATE words SET words.les_num = 1
WHERE les_num=0;

Те два варианта результата, которые приведены в первом топике, к этому запросу относиться не могут.
...
Рейтинг: 0 / 0
Как должен выглядеть SQL запрос в Аксесе чтобы он дклал следующее: (+)
    #32325574
Фотография TatianaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВС, ты ещё раз посмотри- он апдейтирует les_num в 1, где оно les_num =0
и хочет только 10 записей, а апдейтируются все где les_num =0
т,е как будто тор не видит
...
Рейтинг: 0 / 0
Как должен выглядеть SQL запрос в Аксесе чтобы он дклал следующее: (+)
    #32325578
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
А. Понял, пардон. Мне показалось, что он должен обновлять записи, в которых значение одного из полей = 0, а он вместо этого обновляет те записи, в которых значение данного поля = 0.

Он и будет игнорировать TOP. Внутренний запрос возвращает несколько записей, в которых les_num=0. А внешний берет все записи, в которых les_num такой, как les_num во внутреннем запросе. То есть все записи, в которых les_num=0.
...
Рейтинг: 0 / 0
Как должен выглядеть SQL запрос в Аксесе чтобы он дклал следующее: (+)
    #32325579
Фотография TatianaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а я про что говорю?
мне кажется что надо разбить на 2 запроса, а как он из C# запускать их будет это я не знаю :)
...
Рейтинг: 0 / 0
Как должен выглядеть SQL запрос в Аксесе чтобы он дклал следующее: (+)
    #32325584
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Исправить можно так:

UPDATE words SET words.les_num = 1
WHERE xxx in (SELECT TOP 10 xxx FROM words WHERE les_num=0);

где xxx - это ключ (если в этой таблице есть ключ, состоящий из одного поля).

А почему исходный запрос где-то работал - этого я не понимаю.
...
Рейтинг: 0 / 0
Как должен выглядеть SQL запрос в Аксесе чтобы он дклал следующее: (+)
    #32325592
Гоша
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Идея такая: есть таблица в ней записи и надо эти записи разбить на группы по 25 записей для последующей их выборки по группам. Правда я немного не понял насчет xxx, не могли бы вы пояснить?
...
Рейтинг: 0 / 0
Как должен выглядеть SQL запрос в Аксесе чтобы он дклал следующее: (+)
    #32325594
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
xxx - это какое-нибудь поле, значения которого не повторяются. Если такое в этой таблице есть, то хорошо.
...
Рейтинг: 0 / 0
Как должен выглядеть SQL запрос в Аксесе чтобы он дклал следующее: (+)
    #32325595
Гоша
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет такого поля, во всех полях данные могут повторяться. Я уже пробовал так:
UPDATE words SET words.les_num = 1
WHERE eng_word In (SELECT TOP 5 * FROM words WHERE les_num=0)
аксес говорит что без использования EXIST возвращается не одна запись и не выполняет запрос. Что-бы придумать?
...
Рейтинг: 0 / 0
Как должен выглядеть SQL запрос в Аксесе чтобы он дклал следующее: (+)
    #32325598
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Добавить новое поле типа счетчик. Иначе никак.
...
Рейтинг: 0 / 0
Как должен выглядеть SQL запрос в Аксесе чтобы он дклал следующее: (+)
    #32325600
Гоша
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С ключивым полем работает :) Ну а как бы без него обойтись?
...
Рейтинг: 0 / 0
Как должен выглядеть SQL запрос в Аксесе чтобы он дклал следующее: (+)
    #32325601
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Никак.
...
Рейтинг: 0 / 0
Как должен выглядеть SQL запрос в Аксесе чтобы он дклал следующее: (+)
    #32325603
Гоша
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все спасибо разобрался, оказывается это я тормоз :) я для тестирования данные в таьлицу не забивал кроме одного поля les_num, вот он и не мог обновить только выбранные записи, как только ввел данные все заработало и без создания ключивого поля :) теперь запрос выглядит так:
UPDATE words SET words.les_num =3
WHERE eng_word In (SELECT TOP 5 eng_word FROM words WHERE les_num=0);
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как должен выглядеть SQL запрос в Аксесе чтобы он дклал следующее: (+)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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