|
|
|
Как сделать это одним запросом
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Есть вот такая конструкция: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Этот код формирует вот такой список соответствий (см. картинку): http://img829.imageshack.us/img829/3534/clip8.png Таблица USERS_TABLE содержит все данные о существующих пользователях форума. Таблица DAP_LOG_EXCLUDES_TABLE содержит только 2 поля: user_id и exclude_id - то есть идентификаторы для каждой пары пользователей из списка. Сначала из таблицы USERS_TABLE выбираются u.user_id и u.username, соответствующие находящемуся в таблице DAP_LOG_EXCLUDES_TABLE идентификатору e.user_id - это id и имя пользователей, отображаемых слева в списке. Условие u.user_id = e.user_id заодно проверяет существование пользователя в основной таблице USERS_TABLE. Затем для каждого найденного имени с помощью цикла while из таблицы USERS_TABLE выбирается имя пользователя-пары, отображаемого в списке справа. Можно ли сделать то же самое, но при помощи одного SQL-запроса? Чтобы, когда в таблицах будет много данных, запросы не множились в геометрической прогрессии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2012, 01:10 |
|
||
|
Как сделать это одним запросом
|
|||
|---|---|---|---|
|
#18+
Чтобы код в итоге принял вид: Код: sql 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2012, 01:13 |
|
||
|
Как сделать это одним запросом
|
|||
|---|---|---|---|
|
#18+
Примерно так Код: sql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2012, 09:34 |
|
||
|
|

start [/forum/topic.php?fid=16&tid=1342236]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
157ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 214ms |
| total: | 450ms |

| 0 / 0 |
