当我尝试运行此查询时,出现以下错误。我假设错误在于我的第一行查询。这还没有解决。谁能指出我错了?
WITH processed_users
AS (SELECT LEFT(u.phone_country, 2) AS short_phone_country,
u.id
FROM users u)
SELECT t.user_id,
t.merchant_country,
Sum(t.amount / fxr.rate / Power(10, cd.exponent)) AS amount
FROM transactions t
JOIN fx_rates fx
ON ( fx.ccy = t.currency
AND fx.base_ccy = 'USD' ) x`
JOIN currency_details cd
ON cd.currency = t.currency
JOIN processed_users pu
ON pu.id = t.user_id
WHERE t.source = 'IA'
我收到此错误。
Uncaught Error: near "(": syntax error
答案 0 :(得分:0)
我在您的查询中发现了一个细菌,您需要SUBSTR
,因为sqllite中没有left
WITH processed_users
AS (SELECT SUBSTR(u.phone_country,-length(u.phone_country), 2) AS short_phone_country,
u.id
FROM users u
)
SELECT t.user_id,
t.merchant_country,
Sum(t.amount / fxr.rate / Power(10, cd.exponent)) AS amount
FROM transactions t
JOIN fx_rates fx
ON ( fx.ccy = t.currency
AND fx.base_ccy = 'USD' ) x
JOIN currency_details cd
ON cd.currency = t.currency
JOIN processed_users pu
ON pu.id = t.user_id
WHERE t.source = 'IA'
我更愿意通过括号接受t.amount / fxr.rate / Power(10, cd.exponent)
行