Я получаю ошибку с моим CTE. Я размещаю базу данных Amazon RDS. У меня есть другой пример базы данных на моем компьютере (localhost). 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, 4))) 'StoreNumber'
, 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
, P.Sku
, 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;проверьте руководство, соответствующее вашей версии сервера MySQL, для правильного синтаксиса для использования рядом с 'Stores AS (SELECT S.StoreName, RTRIM (LTRIM (LEFT (S.StoreName, 4)))' St 'в строке 1
Опять же, любая помощь в переписывании моего запроса без CTE будет очень благодарна. Большое спасибо