Добрый день! Подскажите, как можно составить SQL запрос с переменной, которая может не содержать значение?
Пример:
//Запрашиваем задачи пользователя по его ID и ID проекта для вывода задач
$current_tasks_list_query = "SELECT
tasks.id AS ID,
tasks.name AS TASK_NAME,
tasks.deadline_datetime AS TASK_DEADLINE,
tasks.status AS TASK_STATUS,
projects.name AS PROJECT_NAME
FROM tasks
JOIN projects
ON tasks.project_id = projects.id
WHERE
tasks.project_id = ".$_SESSION['selected_menu_item_id']." AND
tasks.author_id = '".$USER['id']."'";
$current_tasks_items = $mysql->getAssocResult($mysql->makeQuery($current_tasks_list_query));
Переменная $_SESSION['selected_menu_item_id'] - может не содержать значение ID - тогда там будет NULL. Каким образом сказать, получи такие-то данные, где tasks.project_id - любое значение, а если $_SESSION['selected_menu_item_id'] определен, то подставь его.
Как это сделать, используя одно выражение для запроса, а не прописывая для одного запроса выражение со строчкой tasks.project_id = ".$_SESSION['selected_menu_item_id'].", а для другого без нее.
Возможно есть какие-то возможности языка SQL, которые позволяют сделать что-то вроде tasks.project_id = * - что означало бы любое значение?