За последние 24 часа нас посетили 49017 программистов и 1805 роботов. Сейчас ищут 960 программистов ...

Вывод пустых и непустых значений из базы данных

Тема в разделе "PHP для новичков", создана пользователем Yarkee, 27 июн 2017.

Метки:
  1. Yarkee

    Yarkee Новичок

    С нами с:
    25 июн 2016
    Сообщения:
    13
    Симпатии:
    0
    Здравствуйте, столкнулся с проблемой. Есть таблица баттлов, и в некоторых строках значение поля win - пустое, т.е. NULL. Вывожу эту таблицу с немаленьким количеством джойнов. И дело в том, что выводятся только те строки, в которых значение win - не пустое.
    PHP:
    1. class Battles
    2. {
    3.     function getAll()
    4.     {
    5.         $db = DataBase::getDB(); // Создаём объект базы данных
    6.         // $query = "SELECT DISTINCT b.*, a1.nickname1 mc_left_nickname, a2.nickname1 mc_right_nickname, p.name project, s.name season,country.name country, city.name city FROM battles b JOIN artists a1 ON (a1.id=b.mc_left_one) JOIN artists a2 ON (a2.id=b.mc_right_one) JOIN projects p ON (p.id=b.project_id) JOIN projects s ON (s.parent_id=b.project_id) JOIN countries country ON (country.id=b.country_id) JOIN cities city ON (city.id=b.city_id)";
    7.         $query = "SELECT b.*,
    8.                        al1.nickname1 mc_left_one_nickname,
    9.                        ar1.nickname1 mc_right_one_nickname,
    10.                        win.nickname1 winner_nickname,
    11.                        p.name project,
    12.                        s.name season,
    13.                        t.name battle_type,
    14.                        stg.name battle_stage,
    15.                        country.name country,
    16.                        city.name city
    17.                  FROM battles b WHERE b.win = NULL
    18.                  JOIN artists al1 ON (al1.id=b.mc_left_one)
    19.                  JOIN artists ar1 ON (ar1.id=b.mc_right_one)
    20.                  JOIN artists win ON (win.id=b.win)
    21.                  JOIN projects p ON (p.id=b.project_id)
    22.                  JOIN seasons s ON (s.id=b.season_id)
    23.                  JOIN battle_stages stg ON (stg.id=b.stage)
    24.                  JOIN battle_types t ON (t.id=b.type)
    25.                  JOIN countries country ON (country.id=b.country_id)
    26.                  JOIN cities city ON (city.id=b.city_id)
    27.                 ";
    28.         $result = $db->select($query);
    29.         d($result);
    30.         return $result;
    31.     }
    32. }
    Вот весь класс. Добавлять в конец WHERE b.win IS NULL пробывал, весь запрос рушится и не выводит ничего. Помогите, пожалуйста, разобраться в ситуации.
     

    Вложения:

  2. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.818
    Симпатии:
    1.333
    Адрес:
    Лень
    LEFT JOIN - мне пофиг пустое или с данными
     
    Yarkee нравится это.
  3. Yarkee

    Yarkee Новичок

    С нами с:
    25 июн 2016
    Сообщения:
    13
    Симпатии:
    0
    Огромное нечеловеческое СПАСИБО!!!
     
  4. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.818
    Симпатии:
    1.333
    Адрес:
    Лень
    :eek:
     
    Yarkee нравится это.
  5. Yarkee

    Yarkee Новичок

    С нами с:
    25 июн 2016
    Сообщения:
    13
    Симпатии:
    0
    Огромное, вобщем ))