私は2つのテーブルを持っています: table_1: item_id
, name
... table_2: image_id
, item_id
,url
次の関数は、渡された「$name」を使用してアイテムの「url」を取得します。最初に、クエリで使用する table_1 から「item_id」を取得する必要があります。table_2 から「url」を返すだけで済みます。
現在は問題なく動作していますが、2 つの個別のクエリではなく、JOIN を使用して 1 つのクエリで実行できるように合理化できると思います。さまざまな「JOIN」を使用して機能させようとしましたが、うまくいかないようです。
2つのクエリを使用した現在の関数は次のとおりです...
function get_items( $name ) {
global $wpdb;
$sql1 = "SELECT `item_id` FROM `table_1` WHERE `name` = '$name'";
$results1 = $wpdb->get_var( $sql1 );
$sql1 = "SELECT `url` FROM `table_2` WHERE `item_id` = '$results1'";
$results2 = $wpdb->get_results( $sql1, ARRAY_A );
return $results2;
}
そして、これが私が実装しようとした「JOIN」ですが、失敗しました(私もそれを切り替えて「LEFT / RIGHT JOIN」を実行しましたが、同じ結果が得られました)...
$sql1 = "SELECT `table_2`.`url`
FROM `table_2`
INNER JOIN `table_1`
ON `table_2`.`item_id` = `table_1`.`item_id`
WHERE `table_1`.`item_id` = '$name'";
これら 2 つのクエリを組み合わせる際のアドバイスはありますか?