Jsem si docela jistý, že důvodem je záměna mezi UserId a o.UserId.
V kontextu dotazu neví, že máte na mysli argument do sp. Změňte název argumentu na něco jako „arg_UserId“ a v případě potřeby jej nahraďte v dotazu.
Můžete také zjednodušit syntaxi dotazu. SELECT
mimo případové prohlášení je nadbytečné. Také za předpokladu, že spojení s County a City jsou vždy 1-1, můžete dotaz přepsat jako:
SELECT op.OrderId, O.Number, SUM(op.Price) Price,
CONCAT(A.Detail, ' ', C.Name, ' / ', Ci.Name) AS UserAddress,
(CASE WHEN O.Status =0 THEN 'Onay Bekliyor' WHEN O.Status =1 THEN 'Onaylandı' WHEN O.Status = 2 THEN 'Reddedildi' END) Status,
O.Creation,
(CASE WHEN O.IsDelivered =0 THEN 'Teslim Edilmedi' ELSE 'Teslim Edildi' END) IsDelivered,
group_concat(P.Name) as Product
FROM kobiakinlar.product P JOIN
kobiakinlar.orderproduct op
ON op.ProductId = P.productId JOIN
kobiakinlar.order O
ON O.orderId = op.OrderId JOIN
kobiakinlar.address A ON A.addressId = O.AddressId join
County C
ON C.CountyId = A.CountyId join
City AS Ci
ON C.CityId = Ci.CityId
WHERE O.UserId = arg_UserId
GROUP BY op.OrderId;