0
DirecTwiX
23.04.15
✎
10:13
|
Просьба помочь с запросом.. Сел писать сайт, конструктора запросов не нашёл) Просьба помочь вынести два одинаковых подзапроса во временную таблицу. Текущий запрос:
SELECT
e.*,
tm1.team_name as team1_name,
tm1.team_icon as team1_icon,
tm2.team_name as team2_name,
tm2.team_icon as team2_icon,
IFNULL(tmem1.mems, \'\') as team1_members,
IFNULL(tmem2.mems, \'\') as team2_members
FROM `events` as e
left join `teams` as tm1 on e.team1_id = tm1.id
left join `teams` as tm2 on e.team2_id = tm2.id
left join ( SELECT
team_id,
GROUP_CONCAT(CONCAT(\'<li class="person-name">\', `first_name`, \' "\', `nickname`, \'" \', `last_name`,\'</li>\') SEPARATOR \'\') as mems
FROM `members`
GROUP BY team_id) as tmem1 on e.team1_id = tmem1.team_id
left join ( SELECT
team_id,
GROUP_CONCAT(CONCAT(\'<li class="person-name">\', `first_name`, \' "\', `nickname`, \'" \', `last_name`,\'</li>\') SEPARATOR \'\') as mems
FROM `members`
GROUP BY team_id) as tmem2 on e.team2_id = tmem2.team_id
WHERE '.$whereC.'
GROUP BY id, team1_id, team2_id
ORDER BY time ASC
|
|
1
DirecTwiX
23.04.15
✎
10:18
|
Т.е. в 1Ске я бы сделал так:
SELECT DISTINCT
e.team1_id as team_id
ПОМЕСТИТЬ TeamsID
FROM events e
WHERE $whereC
ОБЪЕДИНИТЬ
SELECT DISTINCT
e.team2_id
FROM events e
WHERE $whereC;
SELECT
team_id,
first_name,
nickname,
last_name
ПОМЕСТИТЬ mems
FROM members
WHERE team_id В (SELECT A.team_id FROM TeamsID);
SELECT
...
JOIN Mems
|
|