вроде не работает в подзапросе mySql

0

Я использовал некоторый подзапрос, его вообще не работает, если я даю hardcoded id его работу.

SELECT
  (
  SELECT
    COUNT(*)
  FROM
    inventory_set_variations isv
  WHERE
    isv.c_catid LIKE '%[{"id":"c1.catid"}]%' AND isv.company_id = 1
) AS 'count_total_no_of_variations',
'c1'.'catid' AS 'catid'

FROM
   category c1
WHERE
  (
    'c1'.'catsid' <> 3 AND c1.company_id = '1'
  )

Это не работает,

ниже код работает, поскольку я дал жестко закодированные данные

SELECT
  (
  SELECT
    COUNT(*)
  FROM
    inventory_set_variations isv
  WHERE
    isv.c_catid LIKE '%[{"id":"1000020"}]%' AND isv.company_id = 1
) AS 'count_total_no_of_variations',
'c1'.'catid' AS 'catid'

FROM
   category c1
WHERE
  (
    'c1'.'catsid' <> 3 AND c1.company_id = '1'
  )

  • 0
    Вы получили какую-либо ошибку? или просто нет результата?
  • 0
    я получаю нулевой счет для всех категорий
Показать ещё 1 комментарий
Теги:

1 ответ

1
Лучший ответ

Вы можете использовать CONCAT для формирования like условие

+ Изменить

LIKE '%[{"id":"c1.catid"}]%'

в

LIKE CONCAT('%[{"id":"',c1.catid,'"}]%')
  • 0
    его возвращение ноль.
  • 0
    SELECT (SELECT COUNT (*) ИЗ инвентаризации_variations isv ГДЕ isv.c_catid LIKE CONCAT ('% [{"id":', c1.catid, '}]%') И isv.company_id = 1) AS 'count_total_no_of_variations',
Показать ещё 9 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню