我在查询时遇到麻烦。我不断收到以下错误。我知道这与我设置子查询的方式有关,因为如果格式化,它不会引发错误:
JOIN losses_incurred on losses_incurred.claimid = claims.id
SELECT claims.id as 'Claim ID'
, claims.claimNumber as 'Claim Number'
, policies.id as 'Policy ID'
, policies.policyNumber as 'Policy Number'
-- , revisions.id
, loss_paid.transactionDate as 'Transaction Date'
-- , cfm.lines.name
-- , agency.name
, (case when loss_paid.type = 'payment' then loss_paid.amount else 0 end) Payments
, (case when loss_paid.type = 'recovery' then loss_paid.amount else 0 end) Recovery
, losses2.adjustingPaid
FROM claims
JOIN policies ON policies.id = claims.policyId
JOIN claim_transactions AS loss_paid ON loss_paid.claimId = claims.id AND loss_paid.transactionDate BETWEEN "2020-01-01" AND "2020-05-31" AND loss_paid.voided = "0"
JOIN x_claims_contacts ON x_claims_contacts.claimId = claims.id AND x_claims_contacts.producer = "1"
JOIN contacts ON contacts.id = x_claims_contacts.contactId
JOIN losses_incurred on losses_incurred.claimId = claims.id
LEFT JOIN
(
SELECT id, claimId
FROM losses_incurred
GROUP BY losses_incurred.claimId
) as losses1 on losses_incurred.claimId = claims.id
LEFT JOIN
(
SELECT adjustingPaid lossesIncurredId
FROM losses_incurred_items
GROUP BY losses_incurred_items.lossesIncurredId
) as losses2 on losses_incurred_items.lossesIncurredId = losses_incurred.id
Error Code: 1054. Unknown column 'losses_incurred_items.lossesIncurredId' in 'on clause'
此子查询:
(
SELECT adjustingPaid lossesIncurredId
FROM losses_incurred_items
GROUP BY losses_incurred_items.lossesIncurredId
)
称为losses2
。您需要在ON
子句中使用它:
on losses2.lossesIncurredId = losses_incurred.id
我认为您在此代码中也缺少逗号:
SELECT adjustingPaid lossesIncurredId
您的代码解释为:
SELECT adjustingPaid as lossesIncurredId
但是您可能打算使用两列而不是一列:
SELECT adjustingPaid, lossesIncurredId