Объявление переменной в MySQL с несколькими таблицами JOIN

0

Я пытаюсь получить итоговый столбец начального месяца, когда был создан идентификатор, где в MySQL Workbench требуются несколько табличных JOIN.

SET @in_month = '0';

SELECT 
    ca.id
FROM capital.user ca
    JOIN 
    capital.user_account cd on ca.id = cd.user_id
    JOIN
    capital.transaction ct on cd.user_id = ct.user_account_id
    JOIN
    capital.transaction_event ce on ct.id = ce.auth_entry_id 

  @in_month = month(ce.created) WHERE ce.message = 'Approved'

Group by id;

Я получаю синтаксическую ошибку: "@in_month" (при суффиксе текста) недействителен ввод в этой позиции в строке 17, любые идеи о том, что я могу делать неправильно? У меня нет большого опыта работы с SQL

  • 0
    обновите свой вопрос с подробным сообщением об ошибке, которое вы получили
  • 0
    точка с запятой (;) после объявления вашей переменной
Показать ещё 1 комментарий
Теги:
syntax
declare

1 ответ

0

вам не хватает точки с запятой после объявления переменной & и условия соединения

    SET @in_month = '0';

    SELECT 
        ca.id
    FROM capital.user ca
    JOIN capital.user_account cd on ca.id = cd.user_id
    JOIN capital.transaction ct on cd.user_id = ct.user_account_id
    JOIN capital.transaction_event ce on ct.id = ce.auth_entry_id  and 
         @in_month = month(ce.created) 
    WHERE ce.message = 'Approved'
    Group by id;
  • 0
    с точкой с запятой я получаю «ошибка: неверный ввод в этой позиции» в строках 1 и 17
  • 0
    Вы также пропускаете точку с запятой в операторе объявления, поэтому она выдает ошибку. я обновил код .. посмотри на них
Показать ещё 5 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню