2016-05-31 6 views
2

мне нужно присоединиться и извлечь все данные из таблиц 3 и нужно сгруппировать его с помощью конкретной таблицы поля name.Am с использованием CodeIgniter и сервера SQLMultiple присоединиться к одной группе

мой запрос:

$this->db->select('table1.*,table2.*,table3.*'); 
$this->db->from('table1'); 
$this->db->join('table2','table1.id = table2.id'); 
$this->db->join('table3','table1.sid = table3.sid'); 
$this->db->group_by('table1.field_name'); 

Возможно ли это?

Am получаю эту ошибку:

имя_поля недопустим в списке выбора, поскольку он не содержится ни в статистической функции или предложения GROUP BY.

ответ

0

использовать это в модели

public function anyfunction($table3_id) 
     { 
      $this->db->select('*'); 
      $this->db->from('table1'); 
      $this->db->join('table2', 'table2.table2_id=table2.id', 'left'); 
      $this->db->join('table3', 'table3.table1_id=table1.table1_id', 'left'); 
      $this->db->where('table3.table1_id',$table3id); 
      $this->db->order_by('table3.field_name','asc');   
      $query = $this->db->get(); 
      if($query->num_rows() != 0) 
      { 
       return $query->result_array(); 
      } 
      else 
      { 
       return false; 
      } 
     } 

я надеюсь, что он будет работать для вас ...

+0

Благодарю вас, позвольте мне проверить – youv

+0

, это работает, еще раз большое вам спасибо, могу я знать причину этого, что было не так в моем запросе, почему did not work..если вы так добры, пожалуйста, помогите :) – youv

1

Обычно, когда вы выполняете группу на SQL Server, столбцы, которые вам разрешено включать в оператор Select, ограничены столбцами в предложении Group By, а также константой или агрегатной функцией. Таким образом, вы можете это сделать:

Select Table1.field_name, Count(*) as ColumnCount 
From Table1 
Group By Table1.field_name 

Но вы не можете включать любые другие столбцы из таблицы 1, если они не находятся в группе BY.

+0

Благодарность за reply.So мы должны указать все столбцы в запросе на выборку в группе из нашей группы пользователей. Эта стратегия аналогична в mysql? – youv

+0

Я не могу разговаривать с MySql. Вы должны включить тег MySql в свой вопрос, чтобы кто-то мог решить это для MySql. –

+0

Извините, поэтому нам нужно указать все столбцы в select query в группе по группе пользователей? – youv

Смежные вопросы