|
|
|
SQL-Request: Help Me!
|
|||
|---|---|---|---|
|
#18+
К сожалению собственных знаний и мозгов на решение проблемы просто не хватает. Помогите, пожалуйста, если сможете - задача состоит в написании сложного SQL-запроса для Access (пишу под VB через DAO). Есть таблица SONGS (список песен, с неповтаряющимися ID): ID, AuthorID, Title, Lenght, Catalog и ещё ряд второстепенных данных. Таблица HISTORY (History прокрутки, т.е. ID повторяются): ID, Time Вопрос в том, как составить запрос, который будет рачитывать какую из песен можно использовать следующей, чтобы она сответствовала требованию, например Catalog = "Dance" и в тоже время не была использована в каком-то промежутке времени. Запросов по времени может быть одновременно несколько. К тому же и Author должен быть выбран такой, который не использовался в каком-то временном промежутке. Я написал запрос, который исправно работает, но он состоит из нескольких вложенных подзапросов. А запросов этих составляется штук 100 подряд, и если history большое то расчитываться это около получаса! Мой запрос приблизительно такой: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Хорошо бы ещё выбирать ту песню которая не использовалась вобще или использовалась давно. Но если я добавляю сортировку, то тормоза становятся совсем жуткими. Может быть нужно зделать временную таблицу? Только хорошо бы делать её один раз, а потом по ней прогонять все 100 запросов. Что можете посоветовать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2004, 00:53 |
|
||
|
SQL-Request: Help Me!
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. или возможно будет быстрее Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. или Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Так примерно. Все условия можно собрать в один подчиненный запрос, и "NOT IN" в акцессе лучше не пользоваться - медленный он ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2004, 01:16 |
|
||
|
|

start [/forum/topic.php?fid=45&fpage=1662&tid=1675878]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
226ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 203ms |
| total: | 517ms |

| 0 / 0 |
