#php #mysql
Вопрос:
Это базовый запрос, который находит условие $sql.
$sql = "SELECT jobs.pickup as myPickup, jobs.dropoff as myDropoff FROM jobs, locality WHERE
locality.pickup=jobs.pickup AND locality.dropOff=jobs.dropoff";
$test= mysqli_query($conn, $sql);
while( $row = mysqli_fetch_assoc($test)) {
echo "Pick up: " . $row["myPickup"]. " to ".$row["myDropoff"]."<br>";
Как бы вы показали все значения, которые потерпели неудачу? Я пытался
$row != mysqli_fetch_assoc($test)
//and
while($row = mysqli_fetch_assoc($result) == false)
но, похоже, это ни к чему не приведет. Я также попытался отредактировать SQL с помощью этого кода:
SELECT jobs.pickup as myPickup, jobs.dropoff as myDropoff FROM jobs, locality WHERE locality.pickup!=jobs.pickup AND locality.dropOff!=jobs.dropoff
но это тоже не сработало, и по какой-то причине SQL по какой-то причине оператор «И» в SQL «locality.pickup=задания.pickup И locality.dropOff=задания.dropoff» код действует как функция «ИЛИ»… странный
Комментарии:
1. Что значит «провалился»?
2.
$row != mysqli_fetch_assoc($test)
в этом нет никакого смысла. И что вы на самом деле здесь хотите, тоже не совсем понятно. Вы пытаетесь определить, какие записи в вашей таблице не были выбраны вашим запросом?3. да, все верно.
4. Тогда все, что вам нужно сделать, это инвертировать критерии выбора. например
WHERE NOT (locality.pickup=jobs.pickup AND locality.dropOff=jobs.dropoff)
, но я не знаю, насколько это имеет смысл, так как вы используете устаревшее неявное объединение5. Вы хотите знать все вакансии, для которых нет подходящего населенного пункта?
Ответ №1:
Я попробовал «ГДЕ НЕТ» в SQL, но я не знал, что вам нужно добавлять скобки. Вот почему он вел себя неправильно
SELECT jobs.pickup as myPickup, jobs.dropoff as myDropoff FROM jobs, locality WHERE NOT (locality.pickup=jobs.pickup AND locality.dropOff=jobs.dropoff);