|
|
|
Головоломки
|
|||
|---|---|---|---|
|
#18+
Господа, подскажите, пожалуйста, где можно взять головоломки по T-SQL (составление "кучерявых" запросов)? Хочется порешать на досуге... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2002, 09:47:36 |
|
||
|
Головоломки
|
|||
|---|---|---|---|
|
#18+
Вот тебе головолока для разминки: Есть таблица num ---- 2 3 5 6 7 23 24 25 28 29 41 ... т.е. с последовательными номерами, но с дырками. Нужно получить запрос без циклов, дающий выборку, содержащую только границы диапазонов. Т.е. к текущему примеру это будет такая выборка min max ---------- 2 3 5 7 23 25 28 29 ............. Hint: Задача решаема. Решение может быть не единственное. Запросы получаются средней сложности, но достаточно короткие в 3-5 строк. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2002, 10:23:48 |
|
||
|
Головоломки
|
|||
|---|---|---|---|
|
#18+
Joe Celko's SQL Puzzles and Answer , заказать можно на Амазоне. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2002, 10:28:00 |
|
||
|
Головоломки
|
|||
|---|---|---|---|
|
#18+
А ответ ? Крутил, вертел - никак не соображу. Вот так я получаю минимумы: select num as mn, 0 as mx from a as t1 where not exists(select num from a as t2 where t1.num=t2.num+1) Вот так максимумы: select 0 as mn, num as mx from a as t1 where not exists(select num from a as t2 where t1.num=t2.num-1) А как их объединить не соображу. Кроме того, наверное, есть лучший вариант. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2002, 16:06:03 |
|
||
|
Головоломки
|
|||
|---|---|---|---|
|
#18+
Ну вот так, например можно (#training - исходная табличка с числами): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2002, 16:14:04 |
|
||
|
Головоломки
|
|||
|---|---|---|---|
|
#18+
Должен заметить, что этот пример не абстракция. Он имеет вполне реальное применение - аналогичным образом я храню и задействую в расчетах банковские ставки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2002, 16:41:33 |
|
||
|
Головоломки
|
|||
|---|---|---|---|
|
#18+
2 Nickolay Что значит "заказать на Амазоне"? Пожалуйста, поконкретнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2002, 17:32:58 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32074718&tid=1818370]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
42ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 210ms |
| total: | 318ms |

| 0 / 0 |
