sql >> Databasteknik >  >> RDS >> Mysql

MySql-frågan körs men det fungerar inte i sp

Jag är ganska säker på att orsaken är förvirringen mellan UserId och o.UserId.

I frågesammanhang vet den inte att du menar argumentet till sp. Ändra namnet på argumentet till något som "arg_UserId" och ersätt det i frågan där det är lämpligt.

Du kan också förenkla din frågesyntax. SELECT utanför ärendets uttalanden är överflödig. Dessutom, förutsatt att kopplingarna till län och stad alltid är 1-1, kan du skriva om frågan som:

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. Oracle-sekvens men då i MS SQL Server

  2. Hur man ställer in en Ruby on Rails 4+-apps standard db-isoleringsnivå

  3. hur kan jag fylla i värdet på rullgardinsmenyn samtidigt som jag väljer värdet på en annan webbplats i php

  4. Skapande av Oracle View med ett databasgenererat ID från ett sekvensobjekt