我正在努力使用COALESCE
来自自定义表。如果第一个结果为null,但wpdb
结果查询字符串本身而不是结果。
$query = "SELECT coalesce(";
$query .= "(SELECT order_number FROM wp_gs_p_cart ";
$query .= "WHERE group_user = %d AND group_id = %d AND identifier = %s ORDER BY id DESC LIMIT 1),";
$query .= "(SELECT order_number FROM wp_gs_p_cart ORDER BY id DESC LIMIT 1)";
$query .= ");";
$prepare = $wpdb->prepare($query, $user_id, $group_id, $identifier);
return $wpdb->get_results($prepare);
// or
return $wpdb->get_row($prepare);
结果
Array
(
[0] => stdClass Object
(
[coalesce((SELECT order_number FROM wp_gs_p_cart WHERE group_user = 73 AND group_id = 298 AND identifier = \'AtR4deAVgU4Ensi1_1ac2b33a4df7c5f0cf148d6232074352\' ORDER BY id DESC LIMIT 1),(SELECT order_number FROM wp_gs_p_cart ORDER BY id DESC LIMIT 1))] => 3333
)
)