
関連リンク
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 動作する模様
※データは未検証なので、実際のところは、確認しながら、、、