我使用了一些子查询,如果我要给硬编码的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 :(得分:1)
您可以使用CONCAT
形成like
条件
更改
LIKE '%[{"id":"c1.catid"}]%'
到
LIKE CONCAT('%[{"id":"',c1.catid,'"}]%')