Как соединить две таблицы в codeigniter с предложением where

Пожалуйста, помогите мне
Мой запрос следующий

Столбец 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, я не знаю, пожалуйста, можете ли вы мне помочь.

0

Решение

Вам нужно указать имя таблицы в предложении 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';
0

Другие решения

Вы можете использовать это в 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.

0

По вопросам рекламы [email protected]