[英]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.