sql >> Database >  >> RDS >> Mysql

MySql-query wordt uitgevoerd, maar werkt niet in sp

Ik ben er vrij zeker van dat de reden de verwarring is tussen UserId en o.UserId.

In de querycontext weet het niet dat je het argument van de sp bedoelt. Verander de naam van het argument in iets als "arg_UserId" en vervang dat waar nodig in de query.

U kunt uw querysyntaxis ook vereenvoudigen. De SELECT buiten de case-statements is overbodig. Ook, ervan uitgaande dat de joins naar County en City altijd 1-1 zijn, kunt u de query herschrijven als:

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;



  1. 9 vitale taken waarvoor DBA's verantwoordelijk zijn

  2. Enorme PHP-array versus MySQL-database?

  3. Wachtgebeurtenissen SQL Server -2

  4. Hoe door komma's gescheiden waarden naar rijen in orakel te converteren?