Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL-错误代码1054-where子句中的未知列al.article_id_Mysql_Sql - Fatal编程技术网

MySQL-错误代码1054-where子句中的未知列al.article_id

MySQL-错误代码1054-where子句中的未知列al.article_id,mysql,sql,Mysql,Sql,我正在尝试执行以下查询,但无法找到问题所在。它一直在抱怨 where子句中的未知列al.article\u id 错误在下面的部分,但我无法解决它,请一些人帮助。这是因为它嵌套在exists->select->if中 EXISTS ( SELECT ( IF(al.post_type = 'article', ( SELECT DISTINCT (a.t

我正在尝试执行以下查询,但无法找到问题所在。它一直在抱怨

where子句中的未知列al.article\u id

错误在下面的部分,但我无法解决它,请一些人帮助。这是因为它嵌套在exists->select->if中

EXISTS
        (
            SELECT (
                IF(al.post_type = 'article',
                (
                    SELECT DISTINCT (a.tag_id) 
                    FROM 
                    (SELECT tag_id FROM article_tags WHERE article_id = al.article_id) a
                    JOIN 
                    (SELECT tag_id FROM user_tags WHERE user_id = 48 AND type = 'interest') b
                    ON a.tag_id = b.tag_id
                ),

我认为您可以尝试在此处指定特定列“table.column”:

从article_tags中选择tag_id,其中article_id=al.article_id)

致:


从article_tags WHERE table.article_id=al.article_id)中选择tag_id)

请描述您的表列以及您尝试执行的操作。您确定知道您正在执行的操作吗?EXISTS子查询中的SELECT子句被忽略。@我只是将SELECT用作包装器,如果我不使用SELECT并直接写入EXISTS if(al.post_type)。。。它给了我语法错误我自己解决了。。这是一种参考问题。。由于多重嵌套,al.article_id不可用。我通过将整个有问题的块放在存储函数中解决了这个问题。
EXISTS
        (
            SELECT (
                IF(al.post_type = 'article',
                (
                    SELECT DISTINCT (a.tag_id) 
                    FROM 
                    (SELECT tag_id FROM article_tags WHERE article_id = al.article_id) a
                    JOIN 
                    (SELECT tag_id FROM user_tags WHERE user_id = 48 AND type = 'interest') b
                    ON a.tag_id = b.tag_id
                ),