|
Хелп, плз, с запросом.
|
|||
---|---|---|---|
#18+
Таблица Код: sql 1.
в этой таблице у каждой последующей записи DT больше предыдущего. но есть баг по заполнению таблицы, который я пока не могу отловить. нужно выбрать все записи, у которых значение DT меньше, чем у предыдущего по rowid элемента Пытался как-то так... Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
знаю, что абсолютно коряво. но не знаю как правильно хелп, плз. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2013, 01:20 |
|
Хелп, плз, с запросом.
|
|||
---|---|---|---|
#18+
Удаления из таблицы бывают? Если да, то глупо требовать, чтобы строка с большей датой имело больший же ROWID. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2013, 05:24 |
|
Хелп, плз, с запросом.
|
|||
---|---|---|---|
#18+
Процедура временная, пока не отловил баг. В реальности в таблицу записываются новые записи и каждое последующее DT больше предыдущего добавленного. ВСЕГДА. Но из-за бага изредка "вставляются" старые значения. Их пока ручками надо удалять. Т.е. местами пока таблица выглядит так: 1 10:00 123 2 10:01 120 3 9:00 100 4 10:02 122 Вот и хочу получить SELECTом элементы, которые хочу удалить. Понятно, если база мне "перетрясет" rowid, то этот костыль не будет работать. Однако, если в указанном выше примере удалить rowid=3 то все будет ок. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2013, 05:40 |
|
Хелп, плз, с запросом.
|
|||
---|---|---|---|
#18+
Чем меньше ты будешь смотреть на ROWID - тем лучше. В настоящих проектах эта фигня вообще никогда не используется. Я понимаю что людям привыкшим к FoxPro и Excel номера строк очень важны - но в реальности они вредны. Если ты забудешь о ROWID вообще - станешь намного счастливее и твоя база станет намного быстрее. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2013, 06:35 |
|
Хелп, плз, с запросом.
|
|||
---|---|---|---|
#18+
парни, вы чего пристали к rowid. написал же, что данное решение - временный "костыль" пока не отловлен баг. потом rowid использовать не нужен будет. сейчас ВРЕМЕННО, пока баг не отловлен, единственный вариант "поймать" кривые записи можно только с использованием rowid. помогите, пжл, с запросом. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2013, 10:55 |
|
Хелп, плз, с запросом.
|
|||
---|---|---|---|
#18+
более того, спасибо Owl, использовать rowid и не предполагается в изначальном и конечном варианте. еще раз. решение временное, база тестовая. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2013, 10:56 |
|
Хелп, плз, с запросом.
|
|||
---|---|---|---|
#18+
Уж если атк охото, то пробуй использовать [NOT] EXISTS. Попробуй оба условия (b.rowid>a.rowid и b.DT<a.DT) писать на одном уровне запроса... Условие " чем у предыдущего по rowid" должно выполняться обязательно? То есть проверять нужно только ближайший снизу? Или все ? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2013, 13:29 |
|
Хелп, плз, с запросом.
|
|||
---|---|---|---|
#18+
meneoболее того, спасибо Owl, использовать rowid и не предполагается в изначальном и конечном варианте. еще раз. решение временное, база тестовая.И во временных решениях не надо использовать дурные решения. Я не вижу чем тебе не нравится таблица: DT Last10:00 12310:01 1209:00 10010:02 122 Мне она кажется вполне правильной и хорошей. Покажи что это не так без использования ROWID. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2013, 23:16 |
|
Хелп, плз, с запросом.
|
|||
---|---|---|---|
#18+
с rowid таблица выглядит так: rowidDTlast110:00123210:0112039:00100410:02122 для всех рядов, начиная со 2го, кроме 3го выполняется два условия rowid(n)>rowid(n-1) DT(n)>DT(n-1) где в () указан номер ряда. так вот и надо выбрать ряды у которых DT меньше DT первого предыдущего по rowid спс ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2013, 23:53 |
|
Хелп, плз, с запросом.
|
|||
---|---|---|---|
#18+
meneoс rowid таблица выглядит так:Еще раз повторяю: ЗАБУДЬ ПРО ROWID!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2013, 00:04 |
|
Хелп, плз, с запросом.
|
|||
---|---|---|---|
#18+
thx for help, folks! ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2013, 03:36 |
|
Хелп, плз, с запросом.
|
|||
---|---|---|---|
#18+
парни, еще есть один запрос. может с ним тоже поможете? есть таблица DT(datetime) Number(integer) надо выбрать все записи, у которых DT меньше, чем DT элемента ближайшего предыдущего (по полю Number) элемента. например, в таблице DTNumber10.11.2001 19.11.2001 413.11.2001 511.11.2001 212.11.2001 3 этому условию удовлетворяет строка 2 (N=4, DT=9.11.2001), потому у ближайшего предыдущего (по полю Number), это срока 5 (N=3, DT=12.11.2001) DT больше. для всех остальных (2,3 и 5) DT больше предыдущих по номеру (1,2 и 4 соответственно). Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2013, 03:46 |
|
Хелп, плз, с запросом.
|
|||
---|---|---|---|
#18+
А где скрипты для создания тестовых данных? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2013, 05:18 |
|
Хелп, плз, с запросом.
|
|||
---|---|---|---|
#18+
какие скрипты? А есть кто-то действительно шарящий в SQL запросах на этом форуме? Буду признателен за помощь с запросом. Он же, вроде, не сложный? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2013, 17:54 |
|
Хелп, плз, с запросом.
|
|||
---|---|---|---|
#18+
meneoкакие скрипты? А есть кто-то действительно шарящий в SQL запросах на этом форуме? Буду признателен за помощь с запросом. Он же, вроде, не сложный?Вот эти скрипты: 13601944 Если запрос не сложный, чтож ты спрашиваешь тогда? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2013, 18:04 |
|
|
start [/forum/topic.php?fid=54&msg=38501461&tid=2008838]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
31ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 130ms |
0 / 0 |