Problem with query with a condition OR/Проблема с запросом с условием ИЛИ

Инструкции, примеры реализации языка запросов, используемого при создании сайтов на основе AVE.cms.
npop
Постоялец
Сообщения: 30
Зарегистрирован: 08 фев 2016, 21:10
Откуда: България
Благодарил (а): 4 раза
Поблагодарили: 10 раз

Problem with query with a condition OR/Проблема с запросом с условием ИЛИ

Сообщение npop » 19 июл 2016, 11:20

function request_parse (file func.parsereguest.php) формирует запрос:

Код: Выделить всё

   
 SELECT
       STRAIGHT_JOIN SQL_CALC_FOUND_ROWS
         a.*
   FROM
      XXX_document_fields AS t10,
      XXX_document_fields AS t13,   
      XXX_documents AS a
   WHERE
     ( a.Id != '1' AND a.Id != '2' AND a.rubric_id = '5' AND a.document_deleted != '1') AND (a.document_status = '1') AND
    ( (t10.document_id = a.id AND (t10.rubric_field_id = '10' AND UPPER(t10.field_value) LIKE UPPER('%lorem%'))) OR
      (t13.document_id = a.id AND (t13.rubric_field_id = '13' AND UPPER(t13.field_value) LIKE UPPER('%lorem%'))) OR 1=1
    )
   GROUP BY
     a.Id
  ORDER BY
    a.document_published DESC
  LIMIT 0,12


в котором OR 1 = 1 всегда TRUE

Аватара пользователя
M@dD3n
Администратор
Сообщения: 747
Зарегистрирован: 25 июн 2015, 09:20
Откуда: Russia
Благодарил (а): 32 раза
Поблагодарили: 113 раз
Контактная информация:

Problem with query with a condition OR/Проблема с запросом с условием ИЛИ

Сообщение M@dD3n » 19 июл 2016, 11:44

OR - пока не чинили в запросах
Грубо говоря - не работает оно )))

Аватара пользователя
M@dD3n
Администратор
Сообщения: 747
Зарегистрирован: 25 июн 2015, 09:20
Откуда: Russia
Благодарил (а): 32 раза
Поблагодарили: 113 раз
Контактная информация:

Problem with query with a condition OR/Проблема с запросом с условием ИЛИ

Сообщение M@dD3n » 19 июл 2016, 12:02

Можно использовать свое условие и в нем обозначить OR
ОПАСНО!!! Произвольное условие [field]={Значение}
[field] = '1' OR [field] = '2'

npop
Постоялец
Сообщения: 30
Зарегистрирован: 08 фев 2016, 21:10
Откуда: България
Благодарил (а): 4 раза
Поблагодарили: 10 раз

Problem with query with a condition OR/Проблема с запросом с условием ИЛИ

Сообщение npop » 19 июл 2016, 16:16

В произволное условие [field] = '1' OR [field] = '2' формирует:
((t10.document_id = a.id AND (t10.rubric_field_id = '10' AND (UPPER(t10.field_value) = '1' OR UPPER(t10.field_value) = '2')))
ето условие OR только для 1 поле

Аватара пользователя
M@dD3n
Администратор
Сообщения: 747
Зарегистрирован: 25 июн 2015, 09:20
Откуда: Russia
Благодарил (а): 32 раза
Поблагодарили: 113 раз
Контактная информация:

Problem with query with a condition OR/Проблема с запросом с условием ИЛИ

Сообщение M@dD3n » 19 июл 2016, 16:31

Да только для одного поля


Вернуться в «Запросы»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя