簡體   English   中英

MySQL - SELECT 中的子查詢在外部參考上引發“未知列”

[英]MySQL - Subquery in SELECT raising "unkown colum" on outer reference

我正在嘗試獲取由子查詢計算的字段。 我在 state 發現了大約 400 個帖子,您可以在 select 子查詢子句中使用外部 ID,除非您嘗試在連接中使用它(我不這樣做)。

這是我的查詢:

SELECT (SELECT group_concat(ct.NAME) 
        FROM core_tagobject cto 
        JOIN core_tag ct ON ct.id=cto.tag_id 
         AND cto.context="tags_working_on" 
         AND cto.object_id=u.id) AS "tag_list"
FROM auth_user u

我總是返回SQL error (1054) - unknown column 'u.id' in 'on clause'.

我究竟做錯了什么?

謝謝!

我猜你想要低於 sql

SELECT group_concat(ct.NAME) AS `tag_list`
FROM core_tagobject cto JOIN core_tag ct ON ct.id=cto.tag_id 
  JOIN auth_user u ON cto.object_id=u.id
WHERE cto.context="tags_working_on"

使用一些數據示例會更好地產生適當的解決方案,但您可以嘗試:

SELECT tag_list.*
FROM  auth_user u 
INNER JOIN (
            SELECT group_concat(ct.NAME) 
            FROM core_tagobject cto 
            JOIN core_tag ct ON ct.id=cto.tag_id 
            AND cto.context="tags_working_on" 
           ) AS tag_list on tag_list.object_id=u.id ;

暫無
暫無

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

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