Где предложение внутри select с подзапросом - PullRequest
0 голосов
/ 29 июня 2018

Есть 6 столов

tours_atp (_wta - то же самое)

Players_atp (_wta - то же самое) enter image description here

games_atp (_wta - то же самое)

enter image description here

С tours_atp + games_atp все в порядке, но как я могу присоединиться (или выбрать изнутри) таблицу игроков для получения столбцов с именами игроков внутри, что-то вроде этого

ID1_G, ID2_G, player1, player2, id_t.....

Я пытаюсь выбрать внутри объединения

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'

1 Ответ

0 голосов
/ 29 июня 2018

Попробуйте это. Но ваш 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`;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...