如何将2个SELECT语句组合到结果所在的位置



如何组合两个SELECT语句,其中第一个SELECT的结果用于第二个SELECT 的where

下面是我现在使用的代码:

$order_id = 7655;
$first  = $wpdb->get_var( $wpdb->prepare( "SELECT post_id FROM wp_postmeta WHERE meta_key = '_ticket_order' AND meta_value = %d", $order_id ) );
if ( $first ) {
$second = $wpdb->get_var( $wpdb->prepare( "SELECT meta_value FROM wp_postmeta WHERE meta_key = '_ticket_event' AND post_id = %d", $first ) );
}
echo $second;

您可以尝试在两个查询之间使用联接

$second = $wpdb->get_var( $wpdb->prepare("SELECT b.meta_value
FROM wp_postmeta a 
INNER JOIN wp_postmeta b ON a.post_id = b.post_id 
WHERE a.meta_key = '_ticket_order' AND a.meta_value = %d", $order_id ) );

最新更新