powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / можно ли организовать цикл в sql запросе?
20 сообщений из 20, страница 1 из 1
можно ли организовать цикл в sql запросе?
    #32636665
что бы он сравнивал последующую и предыдущую строки. и удалял одинаковые.
...
Рейтинг: 0 / 0
можно ли организовать цикл в sql запросе?
    #32636699
sasha_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
цикл можно организовать в VBA (или VB)
...
Рейтинг: 0 / 0
можно ли организовать цикл в sql запросе?
    #32636762
Bely
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
убитый accessomчто бы он сравнивал последующую и предыдущую строки. и удалял одинаковые.

Есть слегка другая вещь: DISTINCT.
Синтаксис примерно такой:
Код: plaintext
SELECT DISTINCT first_name, last_name FROM tbl_users

Что он делает - удаляет из результата все повторяющиеся строки.
Т.е. если в таблице "tbl_users" 10 записей с именем и фамилией "Василий Чапаев", то вернется только одна.
Сравнение идет по всем возвращаемым колонкам.
...
Рейтинг: 0 / 0
можно ли организовать цикл в sql запросе?
    #32636789
YBW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
YBW
Гость
Bely убитый accessomчто бы он сравнивал последующую и предыдущую строки. и удалял одинаковые.

Что он делает - удаляет из результата.

он не отображает повторяющиеся (идентичные) - а не удаляет... вопрос ставился иначе...

Убитый Access'oм - ИМХО Access тут совершенно не виноват...

сформулируй вопрос корректнее -

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

тебе действительно нужно удалить обе - и последующую (х+1) и предыдущую (х) записи или только одну из них???

как должен выполняться запрос (действия) если поменяется сортинг записией в запросе?
...
Рейтинг: 0 / 0
можно ли организовать цикл в sql запросе?
    #32636851
мне надо удалить одну запись, х, а х+1 оставить. записи отсортированы. но проблема в том, что строка может совпасть по столбику "имя" а по столбику "действие" не совпасть, такие строки удалять не надо.
...
Рейтинг: 0 / 0
можно ли организовать цикл в sql запросе?
    #32636875
sasha_1
посоветуй что-нибудь по vb(желательно в электронном виде), а то я о нем только слышал, и даже не представляю себе, что это такое, а делать надо.
...
Рейтинг: 0 / 0
можно ли организовать цикл в sql запросе?
    #32636971
Bely
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
все тот же убитыймне надо удалить одну запись, х, а х+1 оставить. записи отсортированы. но проблема в том, что строка может совпасть по столбику "имя" а по столбику "действие" не совпасть, такие строки удалять не надо.

Что-то мне подсказывает, что надо ввести ключевое поле (например "ID"), сделать его Counter-ом (Счетчиком) и удалять по значению этого поля, а не сравнивая имена :).

Код: plaintext
DELTE FROM my_table WHERE id =  13 
...
Рейтинг: 0 / 0
можно ли организовать цикл в sql запросе?
    #32636983
Bely
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
все тот же убитыймне надо удалить одну запись, х, а х+1 оставить. записи отсортированы. но проблема в том, что строка может совпасть по столбику "имя" а по столбику "действие" не совпасть, такие строки удалять не надо.

В этом случае надо указать в условии на удаление все поля, которые однозначно определяют удаляемую запись.
Например строка SQL запроса можеь выглядеть так:

Код: plaintext
1.
DELETE FROM my_tbl
WHERE name = 'Василий' AND action = 'уволить'
...
Рейтинг: 0 / 0
можно ли организовать цикл в sql запросе?
    #32637014
YBW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
YBW
Гость
убитый accessomsasha_1
посоветуй что-нибудь по vb(желательно в электронном виде), а то я о нем только слышал, и даже не представляю себе, что это такое, а делать надо.


у Андрея Митина на ам.русимпорт лежит ссылка на Кена Хендерсона с примерами


http://am.rusimport.ru/msaccess/topic.aspx?ID=278
...
Рейтинг: 0 / 0
можно ли организовать цикл в sql запросе?
    #32637152
2 YBW: вот спасибо! =)
...
Рейтинг: 0 / 0
можно ли организовать цикл в sql запросе?
    #32637563
vvb152
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
пишешь на вб самопальную функцию as boolean, в которую аргументами передаёшь значения полей, которые нужно отслеживать на предмет повторения.
function повтор_мля(id) as boolean
static a
if a <> id then a=id:Exit Function
повтор_мля=-1
end function
выдает функция -1, значит повтор. вот по этому полю и удаляй запросом на удаление.
...
Рейтинг: 0 / 0
можно ли организовать цикл в sql запросе?
    #32637570
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
vvb152пишешь на вб самопальную функцию as boolean, в которую аргументами передаёшь значения полей, которые нужно отслеживать на предмет повторения.
function повтор_мля(id) as boolean
static a
if a <> id then a=id:Exit Function
повтор_мля=-1
end function
выдает функция -1, значит повтор. вот по этому полю и удаляй запросом на удаление.
Только надо сделать order by по этому полю, иначе не сработает.
...
Рейтинг: 0 / 0
можно ли организовать цикл в sql запросе?
    #32637602
vvb152
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владимир СанычТолько надо сделать order by по этому полю, иначе не сработает.
хорошо напомнил - в этом суть проблемы с такими функциями: акцессу по барабану сортировка, указанная в запросе, он лезет в базовые таблицы и берёт сортировку оттуда. в результате может получиться полная хрень. в запросе на выборку я для нормальной работы таких функций после select вставляю distinctrow - запрос отрывается от базовых таблиц, и срабатывает сортировка запроса. а вот вставлять distinctrow в запрос на удаление думаю нелогично. или сработает? слаб я в sql...
...
Рейтинг: 0 / 0
можно ли организовать цикл в sql запросе?
    #32637613
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
vvb152в запросе на выборку я для нормальной работы таких функций после select вставляю distinctrow - запрос отрывается от базовых таблиц, и срабатывает сортировка запроса.
Я о таком эффекте не задумывался. Но боюсь, что от distinctrow возможен нежелательный эффект - часть записей (именно повторяющихся, что особенно неприятно для данной задачи) будет пропущена.

vvb152а вот вставлять distinctrow в запрос на удаление думаю нелогично. или сработает? слаб я в sql...
Мне кажется, что не вызовет проблем такой вариант:

delete * from ...
where ... in (select distinctrow ...
...
Рейтинг: 0 / 0
можно ли организовать цикл в sql запросе?
    #32637634
vvb152
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владимир СанычНо боюсь, что от distinctrow возможен нежелательный эффект - часть записей (именно повторяющихся, что особенно неприятно для данной задачи) будет пропущена.

при наличии в таблице счётчика за это можно не бояться
...
Рейтинг: 0 / 0
можно ли организовать цикл в sql запросе?
    #32637636
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Да, согласен.
...
Рейтинг: 0 / 0
можно ли организовать цикл в sql запросе?
    #32637705
(c)VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
delete  t.*
from  t
where t.id not  in
(select min(id)  from t
group by f1,f2) 
...
Рейтинг: 0 / 0
можно ли организовать цикл в sql запросе?
    #32637715
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а как сильно отличается sql аксессный от mssmql ?
на msslq такую фишку замутить не проблема ...


 ш
(';')
(V),(V),,
Код: plaintext
 JS 
...
Рейтинг: 0 / 0
можно ли организовать цикл в sql запросе?
    #32637721
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Автору топика: решение VIG'а - лучшее во всех отношениях. Если id - это уникальное поле.
...
Рейтинг: 0 / 0
можно ли организовать цикл в sql запросе?
    #32637761
(c)VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 В.С
Спасибо :)
2 Jib Skeart
Сильно ,и как правило ,не в лучшую сторону (:
Но и на Аксесе "такое замутить не проблема"
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / можно ли организовать цикл в sql запросе?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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