Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как выбрать в таблице отсутствующие номера
|
|||
|---|---|---|---|
|
#18+
Prima_0101Добрый Э - Эх, да, только где у меня в коде такой объект QXI7488.T ? или он динамически генериться ?QXI7488 - это, скорее всего, имя схемы, базы данных или че там есть в твоей СУБД... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2015, 14:43 |
|
||
|
Как выбрать в таблице отсутствующие номера
|
|||
|---|---|---|---|
|
#18+
Prima_0101да, только где у меня в коде такой объект QXI7488.T ? from t - вместо t пишешь QXI7488 where t1.n = t0.n + 1 - вместо n пишешь vkda76 Синтаксис SQL совсем не знаешь, возьми книжку какую-нибудь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2015, 14:43 |
|
||
|
Как выбрать в таблице отсутствующие номера
|
|||
|---|---|---|---|
|
#18+
Prima_0101, и, кстати, если у тебя и в самом деле DB/2, то свернуть портянку дыр в диапазоны можно гораздо проще, посредством оконных функций [ LEAD | LAG ] OVER() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2015, 14:45 |
|
||
|
Как выбрать в таблице отсутствующие номера
|
|||
|---|---|---|---|
|
#18+
Pallarisfrom t - вместо t пишешь QXI7488 where t1.n = t0.n + 1 - вместо n пишешь vkda76 Хотя если qxi7488 - это не таблица, тогда я не прав ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2015, 14:46 |
|
||
|
Как выбрать в таблице отсутствующие номера
|
|||
|---|---|---|---|
|
#18+
PallarisPallarisfrom t - вместо t пишешь QXI7488 where t1.n = t0.n + 1 - вместо n пишешь vkda76 Хотя если qxi7488 - это не таблица, тогда я не правQXI7488 - это имя схемы данных. что-то типа аналога "базы данных". то есть в рамках одной общей базы в DB/2 могут быть разные схемы данных. такие своеобразные "логические контейнеры" для объектов отдельно-взятой системы - таблиц, индексов, процедур, функций и т.д. и т.п.. Если запрашиваем объекты текущей схемы, имя схемы можно не писать (просто пишем select * from T). если хотим обратиться к объектам другой схемы, то требуется указывать перед именем таблицы имя этой схемы (select * from QXI7488.T)... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2015, 14:56 |
|
||
|
Как выбрать в таблице отсутствующие номера
|
|||
|---|---|---|---|
|
#18+
Добрый Э - Эхкак вариант - начни решать задачу поэтапно. на первом этапе получи все диапазоны "дырок" в виде "начало дыры - кончало дыры" на втором этапе сгенерируй строки от начала до кончала каждой дыры. по итогу, в рамках DB/2 первый этап делаем на LEAD (...) Over(order by ...), второй этап можно сделать на рекурсивном WITH. Но это уже лучше обсуждать в профильной ветке ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2015, 15:04 |
|
||
|
Как выбрать в таблице отсутствующие номера
|
|||
|---|---|---|---|
|
#18+
Добрый Э - Эх, ага, это я затупил. Но названия у схем и таблиц оригинальные, сразу разработчику понятно, что к чему :) Модератор: Тема перенесена из форума "MySQL". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2015, 15:05 |
|
||
|
Как выбрать в таблице отсутствующие номера
|
|||
|---|---|---|---|
|
#18+
Prima_0101, Добрый день. Для MYTABLE (I INT) Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2015, 15:52 |
|
||
|
Как выбрать в таблице отсутствующие номера
|
|||
|---|---|---|---|
|
#18+
Pallaris, да, это DB2 и SQL Tаблица здесь qxi7488.vkda76 Столбец snr_num но в данном случае методы MySQL должны по идее прокатить в SQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2015, 16:50 |
|
||
|
Как выбрать в таблице отсутствующие номера
|
|||
|---|---|---|---|
|
#18+
Prima_0101, Дело в том, что MySQL-ный диалект SQL-ля сильно скуднее в своих возможностях, чем его DB/2-шный аналог... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2015, 18:15 |
|
||
|
Как выбрать в таблице отсутствующие номера
|
|||
|---|---|---|---|
|
#18+
Mark Barinstein, При всем моём уважении, но зачем же генерить весь диапазон значений? Уж лучше делать это именно для дыр. В особенности, если дыр не много и они не сильно широкие. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2015, 18:18 |
|
||
|
Как выбрать в таблице отсутствующие номера
|
|||
|---|---|---|---|
|
#18+
Добрый Э - Эх, Это самое простое готовое решение, не требующее процедурной логики. Не будет устраивать производительность, можно и другими способами решить. И далеко еще не факт, что эти другие способы будут более производительными. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2015, 19:27 |
|
||
|
Как выбрать в таблице отсутствующие номера
|
|||
|---|---|---|---|
|
#18+
Друзья, всем большое спасибо за участие и помощь. пока решили воспользоваться тривиальными методами: - находить первую дырку SELECT (SNR_NUM +1) AS SNR_NUM_NEU FROM QXI7488.VKDA76 A AND NOT EXISTS (SELECT * FROM QXI7488.VKDA76 B WHERE B.SNR_NUM = A.SNR_NUM + 1 ) FETCH FIRST ROW ONLY - потом находим конец дырки - потом в программе в цикле генерим недостающие номера На досуге можно будет порассуждать о предложенных вами более красивых решениях. Всем большое спасибо и хорошего дня. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2015, 12:52 |
|
||
|
|

start [/forum/topic.php?fid=43&msg=38944912&tid=1600823]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
32ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
| others: | 14ms |
| total: | 133ms |

| 0 / 0 |
