Ответ 1
используйте Left Join
вместо
SELECT user.uid as uid, user.name as username, account.name as accountname
FROM user LEFT JOIN account ON user.uid=accountid.uid
Я хочу присоединиться к двум таблицам, даже если на втором нет совпадений.
пользователь таблицы:
uid | name
1 dude1
2 dude2
таблица:
uid | accountid | name
1 1 account1
таблица, которую я хочу:
uid | username | accountname
1 dude1 account1
2 dude2 NULL
запрос, с которым я пытаюсь:
SELECT user.uid as uid, user.name as username, account.name as accountname
FROM user RIGHT JOIN account ON user.uid=accout.uid
что я получаю:
uid | username | accountname
1 dude1 account1
используйте Left Join
вместо
SELECT user.uid as uid, user.name as username, account.name as accountname
FROM user LEFT JOIN account ON user.uid=accountid.uid
Попробуйте с запросом LEFT JOIN
SELECT user.uid as uid, user.name as username, account.name as accountname
FROM user
LEFT JOIN account
ON user.uid=accout.uid
Я бы хотел, чтобы вы взглянули на это визуальное представление JOIN
запрос
Правое соединение сохраняет все результаты из 2-й таблицы (она сохраняет все результаты в правой таблице), вы хотите левое соединение или свопите позиции пользователя и учетной записи в предложение соединения.
SELECT user.uid as uid, user.name as username, account.name as accountname
FROM user LEFT JOIN account ON user.uid=account.uid
Я считаю, что это должно сделать.