У меня есть следующий MySQL QueryMysql соединения таблиц, но возвращаемые значения, если первая таблица содержит информацию, но вторая оленью кожу
SELECT Name, Summoner_Name, ROUND(SUM(timePlayed)/60) as Total_Time
FROM UserNames, games_database
WHERE (UserNames.ID = games_database.UserNames_ID AND
UserNames.ID IN ({$Member_Ids_Sql}))
GROUP BY UserNames.ID
ORDER BY Total_Time DESC;
Это эффективно будет захватывать имя игроков, имена Summoner, и общее PLAY_TIME. Он делает это, используя соединение таблицы. Как одна таблица имен пользователей, содержит идентификатор пользователя, имя и имя вызывающего. Где в таблице Games_database хранится каждая игра, в которую играл игрок.
Что я хочу сделать, это отображать информацию о пользователях, которые находятся в таблице UserNames, но еще не играли в какие-либо игры.
Экстренная Информация: USERNAMES База данных содержит ID, Summoner_ID, Summoner_Name, имя
Games_database База данных содержит
ID, Match_ID, my_Date, timePlayed, champion, win, Summoner_ID, UserNames_ID, Game_Type
Я получил это работает отлично для всех пользователей с играми, но когда новый пользователь вводит система, они не отображаются в этом запросе из-за отсутствия игр.
Спасибо, хотя этот точный синтаксис не работал, я удалил и games_database.UserNames_ID null, и он работал :). Я не совсем уверен в том, как работает LEFT Join, поэтому я буду исследовать это. Спасибо за помощь! – crashkid
@crashkid. , , Как это не работает? –