Есть 6 столов
tours_atp (_wta - то же самое)
players_atp (_wta - то же самое)
games_atp (_wta - то же самое)
С tours_atp + games_atp присоединяйся ко всем ОК, но как я могу присоединиться (или внутри выбрать) таблицу игроков для получения столбцов с именами игроков внутри, что-то вроде этого
ID1_G, ID2_G, player1, player2, id_t.....
Я пытаюсь выбрать внутри join
SELECT DISTINCT 'ID_T_G' AS 'id_t', 'NAME_T' AS 'name', 'DATE_G', 'RESULT_G', 'DATE_T', 'COUNTRY_T', 'ID1_G', 'ID2_G', 'ID_R_G',
(SELECT CONCAT('NAME', ' ', 'LASTNAME') AS player1 FROM players_ru_atp WHERE games_atp.ID1_G = players_ru_atp.ID_P) AS 'player1',
(SELECT CONCAT('NAME', ' ', 'LASTNAME') AS player2 FROM players_ru_atp WHERE games_atp.ID2_G = players_ru_atp.ID_P) AS 'player2'
FROM 'games_atp' LEFT JOIN 'tours_atp' ON tours_atp.ID_T = games_atp.ID_T_G
WHERE ('DATE_G' BETWEEN '2018-06-29' AND '2018-06-29')
AND ('player1' LIKE '%John Doe%') GROUP BY 'ID_T_G';
но Unknown column 'player1' in 'where clause'
Попробуй это. Но ваша GROUP BY
не имеет смысла.
SELECT DISTINCT 'ID_T_G' AS 'id_t'
, 'NAME_T' AS 'name'
, 'DATE_G', 'RESULT_G'
, 'DATE_T', 'COUNTRY_T'
, 'ID1_G', 'ID2_G'
, 'ID_R_G'
, (SELECT CONCAT('NAME', ' ', 'LASTNAME') AS player1 FROM players_ru_atp WHERE games_atp.ID1_G = players_ru_atp.ID_P) AS 'player1'
, (SELECT CONCAT('NAME', ' ', 'LASTNAME') AS player2 FROM players_ru_atp WHERE games_atp.ID2_G = players_ru_atp.ID_P) AS 'player2'
FROM 'games_atp'
LEFT JOIN 'tours_atp' ON tours_atp.ID_T = games_atp.ID_T_G
WHERE 'DATE_G' BETWEEN '2018-06-29' AND '2018-06-29'
AND (SELECT CONCAT('NAME', ' ', 'LASTNAME') AS player1 FROM players_ru_atp WHERE games_atp.ID1_G = players_ru_atp.ID_P) LIKE '%John Doe%'
GROUP BY 'ID_T_G';
GROUP BY
.