Ich bin mir ziemlich sicher, dass der Grund die Verwechslung zwischen UserId und o.UserId ist.
Im Abfragekontext weiß es nicht, dass Sie das Argument für den SP meinen. Ändern Sie den Namen des Arguments in etwas wie "arg_UserId" und ersetzen Sie ihn gegebenenfalls in der Abfrage.
Sie können auch Ihre Abfragesyntax vereinfachen. Die SELECT
Außerhalb der Fälle sind Aussagen überflüssig. Unter der Annahme, dass die Joins zu Landkreis und Stadt immer 1-1 sind, können Sie die Abfrage auch wie folgt umschreiben:
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;