我的CTE出现错误。我在Amazon RDS上托管数据库。我的计算机(本地主机)上还有另一个示例数据库主机。 CTE在我的本地计算机上可以正常工作。我认为Amazon RDS出了点问题。也许它不支持CTE。有人遇到同样的问题吗?任何想法如何解决此问题,或者如何在没有CTE的情况下重写此查询?对此的任何帮助将不胜感激。
WITH StoreSku AS
(
SELECT
S.StoreName,RTRIM(LTRIM(LEFT(S.StoreName,4))) 'StoreNumber',P.Sku,P.Description
FROM simplymac_staging.LocationmasterList S
CROSS JOIN simplymac_staging.`dbo.Sku` P
WHERE S.Disabled = 0
),Inventory AS
(
SELECT
I.StoreName,RTRIM(LTRIM(LEFT(I.StoreName,I. ProductName,I.ProductIdentifier,I.UnitCost,SUM(I.Quantity) 'Quantity',I.BinStatus
FROM simplymac_staging.inventorylistinstores I
GROUP BY
I.ProductIdentifier,I.ProductName,I.BinStatus,I.StoreName,I.UnitCost
)
SELECT
P.StoreName,P.Description,CASE WHEN I.BinStatus in ('String_InStock') THEN I.Quantity ELSE 0 END ' In Stock',CASE WHEN I.BinStatus in ('String_TransferIn') THEN I.Quantity ELSE 0 END 'TransferIn',CASE WHEN I.BinStatus in ('String_TransferOut') THEN I.Quantity ELSE 0 END 'TransferOut',CASE WHEN I.BinStatus in ('String_OnOrder') THEN I.Quantity ELSE 0 END 'OnOrder'
FROM StoreSku P
LEFT JOIN Inventory I ON I.ProductIdentifier = P.ID AND I.StoreNumber = P.StoreNumber
错误
错误代码:1064。您的SQL语法有错误;在第1行的'Stores AS(SELECT S.StoreName,RTRIM(LTRIM(LEFT(S.StoreName,4)))'St'附近检查与MySQL服务器版本相对应的手册以使用正确的语法
同样,在没有CTE的情况下重写我的查询的任何帮助将不胜感激。非常感谢yu