Невозможно получить доступ к столбцу суперзапроса во внутреннем соединении подзапроса - PullRequest
0 голосов
/ 24 февраля 2020

Я пытаюсь написать следующий запрос. Есть одна проблема в этом запросе.

SELECT
        JSON_OBJECT(
          'Const_Id',
          `Constituencies`.`Const_Id`,
          'Const_name',
          CONVERT(`Constituencies`.`Const_name` USING utf8),
          'event_count',
          (
            SELECT
            COUNT(`events`.`event_id`)
            FROM
            `events`
            INNER JOIN `cons_circles_list` ON
            `cons_circles_list`.`cons_id` = `Constituencies`.`Const_Id` AND
            `cons_circles_list`.`active` = 1 AND
            `cons_circles_list`.`deleted` = 0
            WHERE `events`.`cons_circle_id` = `cons_circles_list`.`cons_circle_id` AND
            `events`.`deleted` = 0
          )
        ) as data FROM
        `Constituencies`
        WHERE
        `Constituencies`.`deleted` = 0

в следующей строке есть проблема

cons_circles_list. cons_id = Constituencies. Const_Id

Показывается Неизвестный столбец Constituencies. Const_Id в 'on оговорке'

Пожалуйста, предложите любые другие методы.

Ответы [ 2 ]

0 голосов
/ 24 февраля 2020

Пожалуйста, попробуйте переписать запрос следующим образом:

SELECT
        JSON_OBJECT(
          'Const_Id', Const_Id,
          'Const_name', CONVERT(Const_name USING utf8),
          'event_count', event_count
          ) as data FROM(
            SELECT
            `Constituencies`.`Const_Id` Const_Id, 
            `Constituencies`.`Const_name` Const_name,
            COUNT(`events`.`event_id`) event_count
            FROM
            'events`
            INNER JOIN `cons_circles_list` ON
            `events`.`cons_circle_id` = `cons_circles_list`.`cons_circle_id` 
            INNER JOIN `Constituencies` ON `cons_circles_list`.`cons_id` = `Constituencies`.`Const_Id`
            WHERE `events`.`deleted` = 0  AND
            `cons_circles_list`.`active` = 1 AND
            `cons_circles_list`.`deleted` = 0 AND
            `Constituencies`.`deleted` = 0
            GROUP BY `Constituencies`.`Const_Id`, `Constituencies`.`Const_name`
          )q
0 голосов
/ 24 февраля 2020

Вы не можете использовать 'cons_circles_list'. 'Cons_id' = 'Постоянные группы'. 'Const_Id' во внутреннем объединении 'events' и 'cons_circles_list'.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...