MayorPlay
@MayorPlay
!developer

Как правильно составить SQL запрос?

Всем привет, мне нужно создать небольшую выборку из БД с двумя параметрами, есть пользователи, а есть проекты, нужно выводить из БД записи по параметрам, т.е. нужно создать запрос SQL, который позволит, если выбран пользователь, но не выбран проект, выводить только статьи пользователя со всеми проектами, либо, если выбран проект, но не выбран пользователь, то выводить статьи проекта со всеми пользователями, если выбраны оба параметра, то выводить статьи пользователя по выбранному проекту. Как это сделать? Я пол интернета обшарил, не могу понять как правильно построить запрос. Спасибо.
  • Вопрос задан
  • 69 просмотров
Пригласить эксперта
Ответы на вопрос 2
MayorPlay
@MayorPlay Автор вопроса
!developer
Все оказалось банально просто, я сделал такую конструкцию:
$query = "SELECT DISTINCT articles.title, articles.id, articles.start, articles.deadline, users.id as userid, users.name, projects.color, projects.name as projname, projects.id as projid FROM articles, users, projects WHERE articles.cart = 0 AND users.id = articles.copyrighter AND projects.id = articles.project ";

    if($_GET['user'] != "none") {
        $query .= " AND users.id = ".$_GET['user'];
    } 
    
    if($_GET['project'] != 'none') {
        $query .= " AND projects.id = ".$_GET['project'];
    }

Сначала я создаю строку запроса, потом по мере необходимости приклеиваю к ней параметры выборки и всё работает
Ответ написан
tsklab
@tsklab
Здесь отвечаю на вопросы.
SELECT статья, проект FROM таблица WHERE пользователь = выбран
UNION
SELECT статья, пользователь FROM таблица WHERE проект = выбран
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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