|
|
|
можно ли организовать цикл в sql запросе?
|
|||
|---|---|---|---|
|
#18+
что бы он сравнивал последующую и предыдущую строки. и удалял одинаковые. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 12:52:05 |
|
||
|
можно ли организовать цикл в sql запросе?
|
|||
|---|---|---|---|
|
#18+
цикл можно организовать в VBA (или VB) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 13:05:03 |
|
||
|
можно ли организовать цикл в sql запросе?
|
|||
|---|---|---|---|
|
#18+
убитый accessomчто бы он сравнивал последующую и предыдущую строки. и удалял одинаковые. Есть слегка другая вещь: DISTINCT. Синтаксис примерно такой: Код: plaintext Что он делает - удаляет из результата все повторяющиеся строки. Т.е. если в таблице "tbl_users" 10 записей с именем и фамилией "Василий Чапаев", то вернется только одна. Сравнение идет по всем возвращаемым колонкам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 13:29:16 |
|
||
|
можно ли организовать цикл в sql запросе?
|
|||
|---|---|---|---|
|
#18+
Bely убитый accessomчто бы он сравнивал последующую и предыдущую строки. и удалял одинаковые. Что он делает - удаляет из результата. он не отображает повторяющиеся (идентичные) - а не удаляет... вопрос ставился иначе... Убитый Access'oм - ИМХО Access тут совершенно не виноват... сформулируй вопрос корректнее - тебе действительно нужно удалить повторяющиеся записи, или только если повторяющиеся идут последовательно друг за другом... тебе действительно нужно удалить обе - и последующую (х+1) и предыдущую (х) записи или только одну из них??? как должен выполняться запрос (действия) если поменяется сортинг записией в запросе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 13:40:00 |
|
||
|
можно ли организовать цикл в sql запросе?
|
|||
|---|---|---|---|
|
#18+
мне надо удалить одну запись, х, а х+1 оставить. записи отсортированы. но проблема в том, что строка может совпасть по столбику "имя" а по столбику "действие" не совпасть, такие строки удалять не надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 14:01:02 |
|
||
|
можно ли организовать цикл в sql запросе?
|
|||
|---|---|---|---|
|
#18+
sasha_1 посоветуй что-нибудь по vb(желательно в электронном виде), а то я о нем только слышал, и даже не представляю себе, что это такое, а делать надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 14:10:21 |
|
||
|
можно ли организовать цикл в sql запросе?
|
|||
|---|---|---|---|
|
#18+
все тот же убитыймне надо удалить одну запись, х, а х+1 оставить. записи отсортированы. но проблема в том, что строка может совпасть по столбику "имя" а по столбику "действие" не совпасть, такие строки удалять не надо. Что-то мне подсказывает, что надо ввести ключевое поле (например "ID"), сделать его Counter-ом (Счетчиком) и удалять по значению этого поля, а не сравнивая имена :). Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 14:39:53 |
|
||
|
можно ли организовать цикл в sql запросе?
|
|||
|---|---|---|---|
|
#18+
все тот же убитыймне надо удалить одну запись, х, а х+1 оставить. записи отсортированы. но проблема в том, что строка может совпасть по столбику "имя" а по столбику "действие" не совпасть, такие строки удалять не надо. В этом случае надо указать в условии на удаление все поля, которые однозначно определяют удаляемую запись. Например строка SQL запроса можеь выглядеть так: Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 14:42:57 |
|
||
|
можно ли организовать цикл в sql запросе?
|
|||
|---|---|---|---|
|
#18+
убитый accessomsasha_1 посоветуй что-нибудь по vb(желательно в электронном виде), а то я о нем только слышал, и даже не представляю себе, что это такое, а делать надо. у Андрея Митина на ам.русимпорт лежит ссылка на Кена Хендерсона с примерами http://am.rusimport.ru/msaccess/topic.aspx?ID=278 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 14:52:01 |
|
||
|
можно ли организовать цикл в sql запросе?
|
|||
|---|---|---|---|
|
#18+
2 YBW: вот спасибо! =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 15:29:47 |
|
||
|
можно ли организовать цикл в sql запросе?
|
|||
|---|---|---|---|
|
#18+
пишешь на вб самопальную функцию as boolean, в которую аргументами передаёшь значения полей, которые нужно отслеживать на предмет повторения. function повтор_мля(id) as boolean static a if a <> id then a=id:Exit Function повтор_мля=-1 end function выдает функция -1, значит повтор. вот по этому полю и удаляй запросом на удаление. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 19:02:25 |
|
||
|
можно ли организовать цикл в sql запросе?
|
|||
|---|---|---|---|
|
#18+
vvb152пишешь на вб самопальную функцию as boolean, в которую аргументами передаёшь значения полей, которые нужно отслеживать на предмет повторения. function повтор_мля(id) as boolean static a if a <> id then a=id:Exit Function повтор_мля=-1 end function выдает функция -1, значит повтор. вот по этому полю и удаляй запросом на удаление. Только надо сделать order by по этому полю, иначе не сработает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 19:06:28 |
|
||
|
можно ли организовать цикл в sql запросе?
|
|||
|---|---|---|---|
|
#18+
Владимир СанычТолько надо сделать order by по этому полю, иначе не сработает. хорошо напомнил - в этом суть проблемы с такими функциями: акцессу по барабану сортировка, указанная в запросе, он лезет в базовые таблицы и берёт сортировку оттуда. в результате может получиться полная хрень. в запросе на выборку я для нормальной работы таких функций после select вставляю distinctrow - запрос отрывается от базовых таблиц, и срабатывает сортировка запроса. а вот вставлять distinctrow в запрос на удаление думаю нелогично. или сработает? слаб я в sql... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 19:31:14 |
|
||
|
можно ли организовать цикл в sql запросе?
|
|||
|---|---|---|---|
|
#18+
vvb152в запросе на выборку я для нормальной работы таких функций после select вставляю distinctrow - запрос отрывается от базовых таблиц, и срабатывает сортировка запроса. Я о таком эффекте не задумывался. Но боюсь, что от distinctrow возможен нежелательный эффект - часть записей (именно повторяющихся, что особенно неприятно для данной задачи) будет пропущена. vvb152а вот вставлять distinctrow в запрос на удаление думаю нелогично. или сработает? слаб я в sql... Мне кажется, что не вызовет проблем такой вариант: delete * from ... where ... in (select distinctrow ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 19:41:00 |
|
||
|
можно ли организовать цикл в sql запросе?
|
|||
|---|---|---|---|
|
#18+
Владимир СанычНо боюсь, что от distinctrow возможен нежелательный эффект - часть записей (именно повторяющихся, что особенно неприятно для данной задачи) будет пропущена. при наличии в таблице счётчика за это можно не бояться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 19:53:40 |
|
||
|
можно ли организовать цикл в sql запросе?
|
|||
|---|---|---|---|
|
#18+
Да, согласен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 19:54:45 |
|
||
|
можно ли организовать цикл в sql запросе?
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 21:36:35 |
|
||
|
можно ли организовать цикл в sql запросе?
|
|||
|---|---|---|---|
|
#18+
а как сильно отличается sql аксессный от mssmql ? на msslq такую фишку замутить не проблема ... ш (';') (V),(V),, Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 21:45:50 |
|
||
|
можно ли организовать цикл в sql запросе?
|
|||
|---|---|---|---|
|
#18+
Автору топика: решение VIG'а - лучшее во всех отношениях. Если id - это уникальное поле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 21:58:30 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32636665&tid=1672674]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
72ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
| others: | 217ms |
| total: | 401ms |

| 0 / 0 |
