関連リンク
Memo
USING(term_id) は、ON $wpdb->terms.term_id= $wpdb->term_taxonomy.term_id と等価
prepareは、sprintf関数のように、%s %d (%1$sは使えない3.3β2)のプレースフォルダを使うことができます。値は、第二引数から、順次
snippet
<?php $query= $wpdb->prepare(" SELECT * FROM $wpdb->terms JOIN $wpdb->term_taxonomy USING(term_id) WHERE $wpdb->term_taxonomy.taxonomy= '%s' ",'category'); $results= $wpdb->get_results($query); ?>
複数テーブルの結合
$query= $wpdb->prepare(" SELECT * FROM $wpdb->comments JOIN $wpdb->posts ON $wpdb->comments.comment_post_ID= $wpdb->posts.ID JOIN $wpdb->term_relationships ON $wpdb->posts.ID= $wpdb->term_relationships.object_id JOIN $wpdb->term_taxonomy ON $wpdb->term_relationships.term_taxonomy_id= $wpdb->term_taxonomy.term_taxonomy_id WHERE $wpdb->comments.comment_author= '%s' ",'admin'); $results= $wpdb->get_results($query);
※LEFT JOIN INNER JOIN JOIN 動作する模様
※データは未検証なので、実際のところは、確認しながら、、、