Пожалуйста, помогите мне
Мой запрос следующий
Столбец id в предложении where неоднозначен
SELECT u_profile.*, u_user.* FROM u_profile JOIN u_user ON u_profile.id = u_user.id WHERE id = '1' AND u_profile.id = '1'
откуда идёт id = 1, я не знаю, пожалуйста, можете ли вы мне помочь.
Вам нужно указать имя таблицы в предложении where, потому что SQL не знает, что id
пока вы не укажете таблицу, к которой он принадлежит.
Предполагая, что вы хотите найти и user_id, и profile_id:
SELECT u_profile.*, u_user.* FROM u_profile
JOIN u_user ON u_profile.id = u_user.id
WHERE u.user_id = '1' AND u_profile.id = '1';
Вы можете использовать это в CodeIgniter Для внутреннего присоединения:
$this->db->select();
$this->db->from('u_profile')->join('u_user', 'u_profile.id = u_user.id');
$this->db->where('u_user.id',1);
$this->db->where('u_profile.id',1);
За ЛЕВЫЙ РЕЙТИНГ использовать этот:
$this->db->select();
$this->db->from('u_profile')->join('u_user', 'u_profile.id = u_user.id','left');
$this->db->where('u_user.id',1);
$this->db->where('u_profile.id',1);
А также Column 'id' in where clause is ambiguous
означает, что у вас есть два столбца с одинаковыми в обеих таблицах, как идентификатор, поэтому вы должны использовать как u_user.id А ТАКЖЕ u_profile.id.