Ошибка в синтаксисе Operand should contain 1 column(s)

163
22 апреля 2021, 10:50

Всем привет, работаю с cs cart и имею такой запрос

SELECT
  cscart_shippings.shipping_id,
  cscart_shipping_descriptions.shipping,
  cscart_shipping_descriptions.delivery_time,
  cscart_shipping_descriptions.description,
  cscart_shippings.rate_calculation,
  cscart_shippings.service_params,
  cscart_shippings.destination,
  cscart_shippings.min_weight,
  cscart_shippings.max_weight,
  cscart_shippings.service_id,
  cscart_shippings.free_shipping,
  cscart_shipping_services.module,
  cscart_shipping_services.code as service_code,
  cscart_shippings.disable_payment_ids
FROM
  cscart_shippings
  LEFT JOIN cscart_shipping_descriptions ON cscart_shippings.shipping_id = cscart_shipping_descriptions.shipping_id
  LEFT JOIN cscart_shipping_services ON cscart_shipping_services.service_id = cscart_shippings.service_id
  INNER JOIN cscart_ult_objects_sharing ON (
    cscart_ult_objects_sharing.share_object_id = cscart_shippings.shipping_id
    AND cscart_ult_objects_sharing.share_company_id = 2
    AND cscart_ult_objects_sharing.share_object_type = 'shippings'
  )
WHERE
  cscart_shippings.status = 'A'
  AND cscart_shippings.shipping_id IN (28, 29, 24, 25, 27, 26)
  AND (
    cscart_shippings.min_weight <= 13,
    00
    AND (
      cscart_shippings.max_weight >= 13,
      00
      OR cscart_shippings.max_weight = 0.00
    )
  )
  AND cscart_shipping_descriptions.lang_code = 'ru'
  AND (
    cscart_shippings.usergroup_ids = ''
    OR FIND_IN_SET(0, cscart_shippings.usergroup_ids)
    OR FIND_IN_SET(1, cscart_shippings.usergroup_ids)
  )
  AND (
    cscart_shippings.max_subtotal >= 7940,
    00
    OR cscart_shippings.max_subtotal = 0,
    00
  )

на выходе выдает ошибку Operand should contain 1 column(s) помогите понять что именно в запросе не правильно, валидаторы запросов ошибок не видят

хотя я понял что искать нужно как формируется данная переменная - $package_weight

$condition .= db_quote(' AND (?:shippings.max_weight >= ?d OR ?:shippings.max_weight = 0.00))', $package_weight);

Answer 1

Проблема решена, ошибка Operand should contain 1 column(s), выдавалась из за неверного формата веса в переменных min_weight и max_weight, разделителем в которых была ",", а нужно чтобы в качестве разделителя всегда выступала ".".

READ ALSO
Не могу создать внешний ключ в бд

Не могу создать внешний ключ в бд

Помогите, пожалуйста)Вроде нет проблем, поля одинаковые, но не хочет связыватьПоследовательность правильная

166
ERROR 1728 (HY000): Cannot load from mysql.user. The table is probably corrupted

ERROR 1728 (HY000): Cannot load from mysql.user. The table is probably corrupted

Ошибка при создании пользователя

254
В чём ошибка в реализации обработчика AJAX-запроса

В чём ошибка в реализации обработчика AJAX-запроса

Задача такая - с помощью jax-запроса передать данные на обработчик, который с полученными данными в качестве аргументов вызовет функцию

152
Вопрос про FILTER_SANITIZE_EMAIL

Вопрос про FILTER_SANITIZE_EMAIL

Скажите, почему FILTER_SANITIZE_EMAIL не приводит следующий email в вид: mail@mailcom?

183