簡體   English   中英

無法訪問子查詢內連接中的超級查詢列

[英]Unable to access super query column in subquery inner join

我正在嘗試編寫以下查詢。 在這個查詢中有一個問題。

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

它顯示了 Unknown 列Constituencies “on 子句”中的Const_Id

請建議任何其他方法。

您不能在 'events' 和 'cons_circles_list' 的內部連接中使用 'cons_circles_list'.'cons_id' = 'Constituencies'.'Const_Id'。

請嘗試以這種方式重寫查詢:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM