Синтаксическая ошибка с подзапросом в предложении FROM - PullRequest
0 голосов
/ 29 апреля 2020

У меня есть одна таблица со всеми веб-крючками от Stripe. Теперь моя задача состоит в том, чтобы сопоставить идентификатор клиента, найденный в событии charge.succeeded, с одним событием, содержащим ее адрес электронной почты, который будет называться customer.created.

Сначала я попытался выбрать идентификатор клиента, найденный в событии charge.succeeded, а затем запросить в подзапросе запрос на поиск события customer.created, совпадающего с идентификатором клиента, в результате чего был получен ее адрес электронной почты. ,

Хотя я не уверен, использую ли я правильный синтаксис, или моя попытка началась с неправильной ноги в целом.

SELECT p.created_at as date
     , s.`name`
     , JSON_EXTRACT(p.payload, '$.data.object.amount') as amount
     , JSON_EXTRACT(p.payload, '$.data.object.application_fee_amount') as fee_amount
     , JSON_EXTRACT(p.payload, '$.data.object.id') as charge
     , p.event_type as type
     , JSON_EXTRACT(p.payload, '$.data.object.customer') AS cus_id_charge
    , cus_email
  FROM
( SELECT JSON_EXTRACT(pw.payload, '$.data.object.email') AS cus_email
   FROM payment_webhooks AS pw
   WHERE pw.event_type = "customer.created" 
          AND (JSON_EXTRACT(pw.payload, '$.data.object.id' = cus_id_charge)
) AS customer_created
            , payment_webhooks AS p
      LEFT 
      JOIN subsidiaries AS s 
        ON JSON_EXTRACT(p.payload, '$.account') = s.stripe_id 
     WHERE p.event_type IN("charge.succeeded","charge.failed") 
       AND NOT s.name = "Test Autohaus"
 ORDER 
    BY p.created_at;

Сообщение об ошибке: Запрос 1 ОШИБКА: в синтаксисе SQL имеется ошибка; обратитесь к руководству, соответствующему вашей MySQL версии сервера, чтобы узнать правильный синтаксис для использования рядом с 'AS customer_created, payment_webhooks AS p LEFT JOIN JOIN AS AS ON JSON_E' в строке 6

...