関連リンク

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