При работе над Чистыми играми наткнулся на SQL задачку, которая оказалась для меня сложной. Типа, нужно сделать выборку с некоторыми join'ами - и получить всё нужное и ничего лишнего. Это и оказалось для меня сложным. Предлагается решить : )
Я правильно понимаю, что команды (названия, id) постоянны? И юзер может быть только в одной команде? Или это меняется на разных ивентах? Вижу потенциальное неоднозначное соответствие. Можно ли добавить в таблицу team_member поле event_id? Это по идее сняло бы неоднозначность и упростило бы запросы. С другой стороны, если все однозначно, то что мешает просто сджойнить teams, team_members и users и выдать нужные поля (where event_id = 2)?
1. На каждом событии новые команды. 2. Да, юзер может быть только в одной команде. 3. Я тоже хотел добавить event_id в team_members. Неоднозначность и правда есть - типа, не понятно, как написать constraint.
Вот просто заджоинить как раз не получится =)
ЗЫ. У меня есть решение. Вроде бы даже корректное.
Comments 2
С другой стороны, если все однозначно, то что мешает просто сджойнить teams, team_members и users и выдать нужные поля (where event_id = 2)?
Reply
2. Да, юзер может быть только в одной команде.
3. Я тоже хотел добавить event_id в team_members. Неоднозначность и правда есть - типа, не понятно, как написать constraint.
Вот просто заджоинить как раз не получится =)
ЗЫ. У меня есть решение. Вроде бы даже корректное.
Reply
Leave a comment