|
|
|
Помогите сделать запрос с двойной связью
|
|||
|---|---|---|---|
|
#18+
Вкратце такая проблема: Есть таблица пользователей USER_ID USER_NAME Есть таблица событий: Event_ID Event_DATE (дата события) Assaulter_ID (ID пользователя который атакует) A_Type (тип атаки: атака или убийство ) Target_ID (ID пользователя который атакован) Из этих двух таблиц я хочу получить одним запросом данные (создать новую таблицу) следующего рода: USER_NAME (Имя пользователя) Assault_COUNT (Количество атак этим пользователем) TARGET_COUNT (Количество смертей/атакуемый этого пользователя) USER_RATING (Расчетная формула рейтинга игрока в зависимости от значений Assault_COUNT и TARGET_COUNT). Вот и мучаюсь, не знаю как такой запрос собрать. SQL ругается, говорит что не может быть одновременно связи из таблицы к двум записям в одном запросе. А у меня USER.USER_ID Одновременно связан с Event.Assaulter_ID и Event.Target_ID. Помогите пожалуйста, или объясните почему этого нельзя сделать. Нужно это сделать именно одним запросом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2005, 08:08:25 |
|
||
|
Помогите сделать запрос с двойной связью
|
|||
|---|---|---|---|
|
#18+
Надо связать два экземпляра таблицы USER в одном запросе. Но с разными псевдонимами. Конструктор запроса. Добавить таблицу событий. Добавить первую таблицу пользователей. Щелкннуть по ней правой кнопкой мыши, задать имя псевдонима Assaulter. Связать с полем Assaulter_ID. Добавить еще раз таблицу пользователей и назвать ее как Target. Связать с Target_ID. Вызвать групповые операции. Сгруппировать и просуммировать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2005, 08:29:06 |
|
||
|
Помогите сделать запрос с двойной связью
|
|||
|---|---|---|---|
|
#18+
Вот так результат выборки (значения) получаются те которые нужны, Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. но мне нужно чтобы этот результат был не в двух строках а в одной. ИГРОК 1700 805 Это возможно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2005, 10:26:57 |
|
||
|
Помогите сделать запрос с двойной связью
|
|||
|---|---|---|---|
|
#18+
Данным выше советом не хотите воспользоваться по каким-то стойким соображениям ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2005, 12:04:03 |
|
||
|
Помогите сделать запрос с двойной связью
|
|||
|---|---|---|---|
|
#18+
select user_id, user_name, (select count(1) from [Таблица_событий] where assaulter_id = t1.user_id) as assault_count, (select count(1) from [Таблица_событий] where target_id = t1.user_id) as target_count from TablUsers t1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2005, 13:00:53 |
|
||
|
|

start [/forum/topic.php?fid=45&fpage=1499&tid=1669356]: |
0ms |
get settings: |
5ms |
get forum list: |
13ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
26ms |
get topic data: |
5ms |
get forum data: |
2ms |
get page messages: |
23ms |
get tp. blocked users: |
1ms |
| others: | 234ms |
| total: | 311ms |

| 0 / 0 |
