@aassdds
Люблю борщ и PHP

Как составить запрос ответ которого не зависит от числа параметров в условии запроса?

Добрый день!

Есть таблица простая таблица из 4х строк
id | A | B
1 | 1 | 2
2 | 1 | 4
3 | 2 | 5
4 | 2 | 2

php скрипту передается массив параметров B, которые подставляются в MYSQL запрос

Пример 1
B = [2]
нужно получить значение A у которого есть точное соответствие B=2
то есть ответом MYSQL должно быть А=1

Пример 2
B = [2,4]
нужно получить значение A у которого есть точное соответствие B=2 И B=4
то есть ответом MYSQL должно быть А=1

Пример 3
B = [2,4,3]
нужно получить значение A у которого есть точное соответствие B=2 И B=4 И B=3
но в таблице НЕТ строк у которых B=2 И B=4 И B=3 и при этом у всех трех строк - A имеет одно и то же значение... поэтому MYSQL ничего не дожна вернуть...
Никак не могу составить этот запрос, даже с какой стороны подступиться не знаю....
  • Вопрос задан
  • 104 просмотра
Пригласить эксперта
Ответы на вопрос 1
initrd0
@initrd0
Это я =)
Такой вот кривовастенький вариант :D велосипед, но работать должен
$b = '2,4,3';
$b = explode(",", $b);

for($i = 0; $i < count($b); $i++)
{
  $r = mysql_fetch_assoc(mysql_query("SELECT `A` FROM `простая таблица из 4х строк` WHERE `B` = '".$b[$i]."'"));
  if(isset($res) && $res == $r['A'])
  {
    $res = $r['A'];
  }
  if(isset($res) && $res != $r['A'])
  {
    unset($res);
    break();
  }
}

echo $res;
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы