Siema, mam pewien problem przy wyborze konkretnych danych z bazy.
Dla uproszczenia, mam 4 kolumny gracze, indexgraczy, gildie, indexgildii.
Chcę wyciągnąć nastepujące dane o uzytkowniku: nick, poziom, nazwagildi uzywajac:
SELECT
player.id,
player.account_id,
player.name as name_player,
player.level,
player_index.id,
player_index.empire,
player.date_250,
guild.id,
guild.name as name_guild,
guild_member.pid,
guild_member.guild_id
FROM
player ,
player_index ,
guild ,
guild_member
WHERE
player.id= player_index.id
AND
player.id = guild_member.pid
AND
guild_member.guild_id = guild.id
AND player.name = 'testowy'
Treść problemu:
W przypadku, gdzie uzytkownik nalezy do jakies gildii (odpowiedni wiersz istnieje w bazie tylko wtedy jak do niej nalezy, inaczej jest usuwany z bazy) dostaje wiersz z rezultatem z odpowiednimi danymi, w przeciwnym nie dostaje nic (z powodu braku danych z tabeli guild). Rozumiem dlaczego tak się dzieje, ale nie wiem jak skontruować zapytanie, które zignoruje brak tych danych).
Struktury bazy danych nie mogę zmienić.
Nie licze na gotowce oczywiscie, tylko pomysły na rozwiązanie problemu.