Привет всем, я должен реализовать возможность не отображать определенное значение, если оно содержится в другой таблице, как в этом случае: для отображения данных определенных параметров только растений, которые не были связаны с клиентом
"SELECT * FROM store_locator WHERE store_locator.id NOT IN (SELECT impianto_id_campagna FROM campagne_cliente);
но в этом запросе:
function get_stores_list2($criteria=array()) {
$id = $criteria['id'];
$lat = $criteria['lat'];
$lng = $criteria['lng'];
$page_number = $criteria['page_number'];
$nb_display = $criteria['nb_display'];
$distance_unit = $criteria['distance_unit'];
$max_distance = $criteria['max_distance'];
$category_id = $criteria['category_id'];
$table_name = $GLOBALS['db_table_name'];
$start = ($page_number*$nb_display)-$nb_display;
$s1 = new MySqlTable();
if ($distance_unit=='miles') $distance_unit='3959'; //miles
else $distance_unit='6371'; //km
$sql = "SELECT *,
( $distance_unit * acos( cos( radians('".$s1->escape($lat)."') ) * cos( radians( lat ) ) * cos( radians( lng ) - radians('".$s1->escape($lng)."') ) + sin( radians('".$s1->escape($lat)."') ) * sin( radians( lat ) ) ) ) AS distance
FROM ".$table_name."
WHERE 1";
if ($id!='') $sql .= " AND id='".$s1->escape($id)."'";
if ($category_id!='') $sql .= " AND category_id='".$s1->escape($category_id)."'";
if ($max_distance!='') $sql .= " HAVING distance<='".$s1->escape($max_distance)."'";
if ($lat!='' && $lng!='') $sql .= " ORDER BY distance";
else $sql .= " ORDER BY name";
if ($nb_display>0) $sql .= " LIMIT $start, $nb_display";
//echo $sql.'<br>';
$locations = $s1->customQuery($sql);
return $sql;
}
@tiagoperes "SELECT *, ($ distance_unit * acos (cos (радианы ('". $ s1-> escape ($ lat). "')) * cos (радианы (lat)) * cos (радианы (lng) - радианы ('". $ s1-> escape ($ lng)."')) + sin (радианы ('". $ s1-> escape ($ lat)."')) * sin (радианы (lat)))) КАК расстояние ОТ ". $ Table_name." WHERE 1 NOT IN (SELECT impianto_id_campagna FROM campagne_cliente) ", но ничего
Возможный дубликат Как выбрать все записи из одной таблицы, которых нет в другой таблице?
Привет. Я просто погуглил "не отображать определенное значение, если оно содержится в другой таблице" и получил ссылку выше. Это (очевидно) часто задаваемые вопросы. Пожалуйста, всегда гуглите много четких, кратких и конкретных версий / формулировок вашего вопроса / проблемы / цели с вашими конкретными строками / именами и без них и читайте много ответов. Добавьте в поисковые запросы релевантные ключевые слова, которые вы обнаружите. Если вы не нашли ответа, отправьте сообщение, используя поиск по одному варианту в качестве заголовка и ключевых слов для тегов. См. Текст при наведении курсора мыши на стрелку "против". Если у вас есть вопрос о не дублирующемся коде, который нужно опубликовать, прочтите и действуйте по минимальный воспроизводимый пример. PS Уточняйте через правку, а не комментируйте.
@Philipxy спасибо за ответ, но как реализовать это в моем запросе?






Что вы сделали для достижения этой цели?