2016-05-06 14 views
3

私はDrupal 7 Webアプリケーションで作業しています。Drupal 7のノードテーブルを使用した一時テーブルとJOINの作成方法

今日、私は次のようにdb_query_temporary機能を使用して、私のカスタムモジュールで一時テーブルを作成しようとしました:

$result = db_query_temporary("select * from {node}"); 

が、$結果は「db_temporary_0」を与えます。 {node}テーブルを持つ複雑なクエリから作成された一時テーブルに結合する必要があります。

ありがとうございます。

答えて

2

db_query_temporary()はテンポラリテーブルを作成してテーブルの名前を返します。db_temporary_0は完全に妥当と思われます。あなたが必要とする任意の他に参加するためにあなたのdb_select()にその結果を使用します。

// obviously you wouldn't want something this simple.... 
$tmp_tbl = db_query_temporary("SELECT * FROM {node}"); 
$query = db_select('node', 'n'); 
$query->join($tmp_tbl, 't', n.nid = t.nid'); //JOIN with node 
関連する問題