запрашивать данные из более чем одной таблицы - PullRequest
0 голосов
/ 15 июня 2011

У меня есть функция поиска, которая в настоящее время извлекает данные из одной таблицы, и я также хотел бы получить данные из дополнительной таблицы.

$query = $this->db->get('tbl_customer');
$this->db->select('in_customer_id, st_company_name, in_customer_type, st_customer_account, st_customer_state_id, flg_customer_account_type, in_status, dt_added_date, st_tag');
if(trim($action['searchtxt'])!='')
    $this->db->like('st_company_name', html_entity_decode($action['searchtxt']));

Мнение:

   <div class="floatl"  style="width:250px;">
      <form name="frm" action="<?php echo $index_url; ?>customers/search/" method="post">
        <div class="floatl">                
          <input name="Search" type="text" class="textboxsearch" id="Search" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;" value="<?php if($searchtxt!=''){ echo $searchtxt; } else{ echo 'Search'; }?>" maxlength="50" />
        </div>
            <div class="floatl searchicon">
          <input type="image"  src="<?=$admin_base_url?>images/textbox_search.gif" alt="" width="22" height="22" />
          </div>
        <br />
        <br />
        <font class="txt9">(i.e. Company, Account name)</font>
      </form>          
    </div>

Таблица, которую я хочу дополнительно найти, называется tbl_admin_user. Любые идеи о том, как я могу сделать это?

Ответы [ 2 ]

0 голосов
/ 15 июня 2011

Похоже, что вы используете ORM / framework для доступа к данным, которые вы используете.

В любом случае, вы, вероятно, ищете join или union .

0 голосов
/ 15 июня 2011

Возможно, вы захотите немного освежить свой SQL, особенно взгляните на SQL-соединения .

С учетом вышесказанного, после повторного прочтения вашего вопроса выясняется, что вы пытаетесь найти в определенных столбцах довольно конкретные данные в нескольких таблицах. Сначала вы можете захотеть использовать LIKE вместо WHERE .

Во-вторых, в зависимости от того, как вы отображаете результаты, вы, вероятно, либо напишете два отдельных запроса, а затем выполните цикл по каждому из отдельных результатов и отобразите их. Объединение или объединение могут быть возможны, но также может быть трудно точно отобразить результаты, если структуры таблиц действительно отличаются.

...