【问题标题】:MySQl query problemsMySQl 查询问题
【发布时间】:2023-03-25 11:23:02
【问题描述】:

我没有在 MySQL 上花费大量时间,但有人要求我调查我教会网站的问题。它已经关闭了很长一段时间,我正试图让它恢复运行。原始站点是在旧版本的 Mambo 4.5.3 中完成的。我会在某个时候升级它,但我只是想让它暂时运行。

我目前在使用下面的 Mambo 内置查询时遇到问题。无论站点管理尝试访问页面,我都会收到错误消息:

“on 子句”中的未知列“c.access”。

我已验证指定表中确实存在该列。现在我被难住了。我打开 MySQL Query 分析器并将查询粘贴到其中,我收到相同的错误消息,代码为 1054。有人有什么想法吗?

SELECT 
    c.*, 
    g.name AS groupname, 
    cc.name, 
    u.name AS editor, 
    f.content_id AS frontpage, 
    s.title AS section_name, 
    v.name AS author 
FROM 
    mos_content AS c, 
    mos_categories AS cc, 
    mos_sections AS s 
    LEFT JOIN mos_groups AS g ON g.id = c.access 
    LEFT JOIN mos_users AS u ON u.id = c.checked_out 
    LEFT JOIN mos_users AS v ON v.id = c.created_by 
    LEFT JOIN mos_content_frontpage AS f ON f.content_id = c.id 
WHERE 
    c.state >= 0 
    AND c.catid=cc.id 
    AND cc.section=s.id 
    AND s.scope='content' 
ORDER BY 
    s.title, 
    c.catid, 
    cc.ordering, 
    cc.title, 
    c.ordering 
LIMIT 
    0,10

【问题讨论】:

  • 所以您确定 MOS_CONTENT 表中有一个名为“access”的列?
  • 表 mos_content 应该有访问列,我认为没有其他原因会出现该错误

标签: sql mysql mysql-error-1054


【解决方案1】:
SELECT  
    c.*,  
    g.name AS groupname,  
    cc.name,  
    u.name AS editor,  
    f.content_id AS frontpage,  
    s.title AS section_name,  
    v.name AS author  
FROM  
    mos_content AS c 
    INNER JOIN mos_categories AS cc on c.catid=cc.id  
    INNER JOIN mos_sections AS s on cc.section=s.id 
    LEFT JOIN mos_groups AS g ON g.id = c.access  
    LEFT JOIN mos_users AS u ON u.id = c.checked_out  
    LEFT JOIN mos_users AS v ON v.id = c.created_by  
    LEFT JOIN mos_content_frontpage AS f ON f.content_id = c.id  
WHERE  
    c.state >= 0  
    AND s.scope='content'  
ORDER BY  
    s.title,  
    c.catid,  
    cc.ordering,  
    cc.title,  
    c.ordering  
LIMIT  
    0,10 

【讨论】:

  • @Joe 工作就像一个魅力。谢谢!
【解决方案2】:

error 1052 消息文本实际上类似于 Column 'foo' in %s is ambiguous。当您连接具有相同名称的列并且您在没有表前缀的情况下引用它们时,通常会发生这种情况。

:-?

【讨论】:

    猜你喜欢
    • 2011-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-22
    相关资源
    最近更新 更多