JOIN 并从同一查询中的另一个表中获取一些其他信息


JOIN and get some other information from another table within the same query

$query = sprintf("SELECT user_id, lat, lng, ( 3959 * acos( cos( radians('%s') ) * cos( radians( lat ) ) * cos( radians( lng ) - radians('%s') ) + sin( radians('%s') ) * sin( radians( lat ) ) ) ) AS distance FROM bid_latlng HAVING distance < '%s' ORDER BY distance LIMIT 0 , 20",
    mysql_real_escape_string($center_lat),
    mysql_real_escape_string($center_lng),
    mysql_real_escape_string($center_lat),
    mysql_real_escape_string($radius));

我需要做的是使用上述语句中的user_idwp_users表中获取user_login列。

wp_users TABLE
id | user_login

我真的不太清楚如何使用第一个语句中的结果正确JOIN这两个语句......

下面的查询应该会得到你需要的结果:

sprintf("SELECT bid_latlng.user_id,wp_users.user_login, bid_latlng.lat, bid_latlng.lng, 
( 3959 * acos( cos( radians('%s') ) * cos( radians( lat ) ) * cos( radians( lng ) - radians('%s') ) + sin( radians('%s') ) * sin( radians( lat ) ) ) ) AS distance 
    FROM bid_latlng JOIN wp_users ON bid_latlng.user_id = wp_users.user_id HAVING distance < '%s' ORDER BY distance LIMIT 0 , 20",
        mysql_real_escape_string($center_lat),
        mysql_real_escape_string($center_lng),
        mysql_real_escape_string($center_lat),
        mysql_real_escape_string($radius));