|
Реализация рекурсивного запроса
|
|||
---|---|---|---|
#18+
Доброе время суток! Задача: перебрать всевозможные комбинации значений по полю SIMBOL (по 3 значения из 4-х возможных), сгруппированные по полю ROOM. Пример таблицы исходной и результирующей - в присоединенном архиве базы ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2016, 17:15 |
|
Реализация рекурсивного запроса
|
|||
---|---|---|---|
#18+
martinet, ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2016, 17:16 |
|
Реализация рекурсивного запроса
|
|||
---|---|---|---|
#18+
martinetК сообщению приложен файл Нераспознаваемый формат базы данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2016, 17:20 |
|
Реализация рекурсивного запроса
|
|||
---|---|---|---|
#18+
Проще было изобразить то же самое в теге Table... А теперь поясните, где тут "комбинации". Как был один символ на запись в поле Symbol, так и остался. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2016, 18:04 |
|
Реализация рекурсивного запроса
|
|||
---|---|---|---|
#18+
martinet, возможно подойдет такой вариант Код: sql 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2016, 18:39 |
|
Реализация рекурсивного запроса
|
|||
---|---|---|---|
#18+
Akina, В таблице tbl1 - исходные данные. В таблице result - то, что нужно получить из tbl1. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2016, 18:40 |
|
Реализация рекурсивного запроса
|
|||
---|---|---|---|
#18+
-Практикант-, нужно перебрать все возможные комбинации в поле SYMBOL , относящиеся к одной группе ROOM. И получить результат в виде, как в таблице RESULT ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2016, 19:08 |
|
Реализация рекурсивного запроса
|
|||
---|---|---|---|
#18+
martinet, IdRoomSymbol1room1A2room1B3room1C4room1D IdRoomSymbol1room1A2room1B3room1C4room1A5room1B6room1D7room1A8room1C9room1D10room1B11room1C12room1D практикант RoomSymbol1Symbol2Symbol3room1ABCroom1ABDroom1ACDroom1BCD ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2016, 19:33 |
|
Реализация рекурсивного запроса
|
|||
---|---|---|---|
#18+
martinet, Код: sql 1. 2. 3. 4. 5. 6.
где tabTri таблица из трех записей. Значение поля num первой записи равно 1, второй - 2, третьей - 3. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2016, 19:51 |
|
Реализация рекурсивного запроса
|
|||
---|---|---|---|
#18+
tbl1 это исходные данные result искомый результат запроса. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2016, 19:54 |
|
Реализация рекурсивного запроса
|
|||
---|---|---|---|
#18+
martinettbl1 это исходные данные result искомый результат запроса. Внятно говорите, что не устраивает? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2016, 20:34 |
|
Реализация рекурсивного запроса
|
|||
---|---|---|---|
#18+
-Практикант-, Спасибо большое - то что нужно. Всем участникам тоже спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2016, 21:12 |
|
Реализация рекурсивного запроса
|
|||
---|---|---|---|
#18+
-Практикант-, Мне Ваше решение показалось очень изящным :). Но сначала я задачу представила в очень упрощенном виде. А вот если вместо символов будут слова, как в прилагаемом файле? Создала следующий запрос : Код: plaintext 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2016, 23:23 |
|
Реализация рекурсивного запроса
|
|||
---|---|---|---|
#18+
martinet, ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2016, 23:24 |
|
Реализация рекурсивного запроса
|
|||
---|---|---|---|
#18+
martinetНо думаю, что есть более правильное решение, чем мое. Подскажите, пожалуйста. Могу предложить такое решение Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
где используется запрос/таблица Digits (см. 5414410 ). Насколько данное решение "более правильное", то это сугубо индивидуально. А вот сравнить запросы по быстродействию стоит. В данном варианте подзапрос Q1 рассчитан для обработки не более 996 символов, которые суммарно содержатся в поле Symbol трех записей исходной таблицы. Если же их не более 96, то для повышения быстродействия запроса имеет смысл убрать ", Digits AS D2" и "D2.digit & " из подзапроса. P.S. Сейчас заметил, что перемудрил в своем запросе предыдущего топика. Ваш запрос можно записать в таком виде Код: sql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2016, 06:21 |
|
|
start [/forum/topic.php?fid=45&msg=39145768&tid=1614066]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
34ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
others: | 11ms |
total: | 124ms |
0 / 0 |