___ ___ erkimt Error adding COUNT in CONCAT ______ qstntxt ___
When I try to add %code% it returns error, but when I shoot,% %code% works normal. Follows the error:
%code%
Script:
SELECT DISTINCT
TB_PRODUTOS.ID_PRODUTO,
CONVERT(
GROUP_CONCAT(
DISTINCT CONCAT(
TB_PRODUTOS.NOME_PRODUTO,
"(",
(SELECT COUNT(1) FROM TB_PRODUTOS AS SUB_PRODUTOS WHERE SUB_PRODUTOS.ID_PRODUTO = TB_PRODUTOS.ID_PRODUTO),
")"
)
SEPARATOR ', '
)
USING 'utf8'
) AS NOME_PRODUTO,
TB_ITEM_PEDIDO_PRODUTO.ID_PEDIDO,
TB_ITEM_PEDIDO_PRODUTO.ID_PRODUTO
FROM TB_ITEM_PEDIDO_PRODUTO
INNER JOIN TB_PEDIDO ON TB_PEDIDO.ID_PEDIDO = TB_ITEM_PEDIDO_PRODUTO.ID_PEDIDO
INNER JOIN TB_PRODUTOS ON TB_PRODUTOS.ID_PRODUTO = TB_ITEM_PEDIDO_PRODUTO.ID_PRODUTO
WHERE TB_PEDIDO.ID_PESSOA = 1
GROUP BY TB_PEDIDO.ID_PEDIDO
I want to return this result:
SELECT DISTINCT
TB_PRODUTOS.ID_PRODUTO,
CONVERT(
GROUP_CONCAT(
DISTINCT CONCAT(
TB_PRODUTOS.NOME_PRODUTO,
"(",
(SELECT COUNT(1) FROM TB_PRODUTOS AS SUB_PRODUTOS WHERE SUB_PRODUTOS.ID_PRODUTO = TB_PRODUTOS.ID_PRODUTO),
")"
)
SEPARATOR ', '
)
USING 'utf8'
) AS NOME_PRODUTO,
TB_ITEM_PEDIDO_PRODUTO.ID_PEDIDO,
TB_ITEM_PEDIDO_PRODUTO.ID_PRODUTO
FROM TB_ITEM_PEDIDO_PRODUTO
INNER JOIN TB_PEDIDO ON TB_PEDIDO.ID_PEDIDO = TB_ITEM_PEDIDO_PRODUTO.ID_PEDIDO
INNER JOIN TB_PRODUTOS ON TB_PRODUTOS.ID_PRODUTO = TB_ITEM_PEDIDO_PRODUTO.ID_PRODUTO
WHERE TB_PEDIDO.ID_PESSOA = 1
GROUP BY TB_PEDIDO.ID_PEDIDO
I followed this site:
link
Database:
TB_PEDIDO:
TB_ITEM_PEDIDO_PRODUTO:
TB_ITEM_PEDIDO_PRODUTO_INGREDIENTE:
TB_PRODUTO:
TB_PRODUTOS_INGREDIENTES:
TB_INGREDIENTES:
The Best Solution is to process it in the application, but if there is a reason to solve the SELECT, I suggest you use a sub-select the number of items in each product_no.
See if it works with the solution below:
%pre%
Fields in aggregating functions as %code% % %code% %%% or co_de %code% should stay out of the clause %code% .
Try the following:
%pre%