2017-04-03 11 views
0

私は表2 この上の句は、コード・イグナイターCodeIgniterの中で二つのテーブルからデータを取得

SELECT * FROM table1,table2 WHERE `hide` = 0 AND `reject` = 0 AND `disable` = 0 AND `private` = 0 AND `table2`.`wepay_account_id` != '' ORDER BY `table1_id` DESC LIMIT 40 

このクエリで実行するためのサンプルクエリがどこにある表1からデータを取得し、適用するためにクエリを実行しようとしていますデータベース内で実行さではなく、私はモデル

$this->db->limit($limit, $start); 
     $this->db->where('hide', 0); 
     $this->db->where('reject', 0); 
     $this->db->where('disable', 0); 
     $this->db->where('private', 0); 
     $this->db->where('table2.wepay_account_id !=',""); 
     $this->db->from('table1','table2'); 
     $this->db->order_by('table1', 'DESC'); 
     $query = $this->db->get(); 
     $a=$this->db->last_query(); 
     print_r($a); 
     exit; 

にこのコードをしようとしていますが、私はこのエラー

012に直面しています

コードイグナイタで実行

Error Number: 1054 

Unknown column 'table2.wepay_account_id' in 'where clause' 

SELECT * FROM (`table1`) WHERE `hide` = 0 AND `reject` = 0 AND `disable` = 0 AND `private` = 0 AND `table2`.`wepay_account_id` != '' ORDER BY `table1_id` DESC LIMIT 40 
+0

Plz、2つのテーブルのスキーマを教えてください。 – Sharif

+0

secemaは問題ありません.... $ this-> db-> from( 'table1'、 'table2');クエリ実行table2が表示されないとき.. look error SELECT * FROM( 'table1').. table2が見つからない –

+0

whereはselect文ですか? '' $ this-> db-> select( 'table1.SOMETHING、table2.SOMETHING'); '' – Sharif

答えて

2

このコードセグメントでは、table1の用途を選択します。いいえありません。table2

ここで、条件はtable2です。これは、)(

$this->db->from('table1'); 
$this->db->join('table2', 'table1.id = table2.id') 
+0

table2.wepay_account_idがnullでない必要があります。 –

+0

あなたはメインテーブルとしてtable2を使用する必要がありますまたは他の賢明なこのテーブルのようにアクセスすることはできません – Kushan

+0

ありがとう..あなたの提案は私の問題を解決する –

0

に参加wepay_account_id

使用すると、これはあなたのシンプルなmysqlのクエリにequillentされます

$this->db->from('table1'); 
$this->db->join('table2','true'); 

$this->db->from('table1','table2'); 

を交換してください。

関連する問題