Как соотнести два столбца в PHP MYSQL
Я создал одну таблицу запросов, которая содержит всю информацию о запросах.
Таблица, содержащая эти столбцы:
requestid , itemrequest1, itemrequest2, itemrequest3, quantity1, quantity2, quantity3
Как сделать так, чтобы, если itemrequest
имеет значение в столбце itemrequest2
, это будет принимать количество из столбца quantity2
,
Мой запрос таков:
$query2=mysql_query("select * from tbl_request WHERE unit='$unit' AND (itemrequest1='$itemrequest' or itemrequest2='$itemrequest' or itemrequest3='$itemrequest')");
$record_num=mysql_num_rows($query2);
while ($data1 = mysql_fetch_array($query2))
Проблема в том, что когда $itemrequest
имеет значение в столбце itemrequest3
, количество всегда будет отображать количество из столбца 1.
1 ответ
Вы можете использовать условия в своем запросе, чтобы выбрать правильный столбец в зависимости от значения другого столбца.
SELECT requestid,
(CASE WHEN itemrequest1 = '$itemrequest' THEN quantity1
ELSE (
CASE WHEN itemrequest2 = '$itemrequest' THEN quantity2
ELSE (
CASE WHEN itemrequest3 = '$itemrequest' THEN quantity3
END)
END)
END)
FROM tbl_request
Вы должны внимательно посмотреть на структуру вашей базы данных, хотя, если вам придется делать такие вещи, возможно, будет лучше улучшить вашу структуру и иметь лучшие таблицы / поля.