Je suis presque sûr que la raison est la confusion entre UserId et o.UserId.
Dans le contexte de la requête, il ne sait pas que vous voulez dire l'argument du sp. Changez le nom de l'argument en quelque chose comme "arg_UserId" et remplacez-le dans la requête, le cas échéant.
Vous pouvez également simplifier la syntaxe de votre requête. Le SELECT
en dehors des instructions de cas est redondante. De plus, en supposant que les jointures au comté et à la ville sont toujours 1-1, vous pouvez réécrire la requête comme :
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;