Помогите с SQL запросом

Тема в разделе "OpenCart", создана пользователем cherkas, 9 фев 2018.

  1. cherkas

    cherkas

    Регистрация:
    25 фев 2013
    Сообщения:
    451
    Симпатии:
    57
    Здравствуйте, нужно сделать выборку из таблицы oc_order по нескольким условиям

    по временному промежутку и по и по нескольким значениям статуса ордера

    делаю так

    Код:
    
    $order_status_id='\'5\'';    - задаю начальный статус
     
    $order=$this->db->query("SELECT `total`, `order_status_id` FROM `oc_order` WHERE (DATE(date_added) BETWEEN '".$datestart."' AND '".$datefinish."') AND (order_status_id=".$order_status_id.")");
    
    
    
    так всё работает, но мне нужно вписать в начальный статус несколько вариантов т.е. 5 или 8 или 15 и что бы выборка шла по всем этим значениям.

    пробую так
    Код:
      $order_status_id='\'5\' or \'3\'';
    в выборку попадают товары со всеми статусами а не только с указанными

    помогите правильно составить начальный статус.
     
  2. settr

    settr

    Регистрация:
    12 окт 2016
    Сообщения:
    67
    Симпатии:
    54
    cherkas нравится это.
  3. cherkas

    cherkas

    Регистрация:
    25 фев 2013
    Сообщения:
    451
    Симпатии:
    57
    Спасибо, вроде бы работает )
     
  4. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    А зачем кавычки вокруг числа? Все id в базе - это интежер. Более того, MySQL автоматически конвертирует типы в запросах между числовыми и строковыми, если возникает необходимость. То есть, задавать числа строками смысла нет вообще никакого!
    И зачем вторые кавычки?
     
  5. cherkas

    cherkas

    Регистрация:
    25 фев 2013
    Сообщения:
    451
    Симпатии:
    57
    не судите строго, я еще в процессе постижения всех премудростей ).