【问题标题】:On MYSQL Join, I'm getting un unknown column error在 MYSQL Join 上,我收到未知列错误
【发布时间】:2010-05-24 15:05:14
【问题描述】:

这是我的查询:

   select s.*,
          u.display_name 
     from wp_wdify_sites s, 
          wp_users u
LEFT JOIN wp_wdify_sitesmeta m ON (s.sid = m.site_id)
    where milestones like '%dateSubmitted%' 
      and milestones not like '%dateArchived%' 
      and u.ID = s.cid and did IN (0)
      and m.meta_key = 'aboutSite'`

我得到的错误是#1054 - 'on 子句'中的未知列's.sid'。问题是,wp_wdify_sites.sid 确实存在。这没有意义。

【问题讨论】:

    标签: php mysql mysql-error-1054


    【解决方案1】:

    试试这样的:

        select s.*,
               u.display_name 
          from wp_users u 
    INNER JOIN wp_wdify_sites s ON u.ID = s.cid 
     LEFT JOIN wp_wdify_sitesmeta m ON (s.sid = m.site_id) 
         where milestones like '%dateSubmitted%' 
           and milestones not like '%dateArchived%' 
           and did IN (0) 
           and m.meta_key = 'aboutSite'
    

    您的 LEFT JOIN ON 子句用于连接 wp_wdify_sites 和 wp_wdify_sitesmeta 的位置错误。

    【讨论】:

    • 酷,很高兴我能帮上忙。还要注意 omg ponies 所说的,最好在查询中坚持使用一种连接语法(您的原始查询有一个使用 t1 LEFT JOIN t2 ON t1.x = t2.x 和一个使用 t1, t2 WHERE t1.x = t2.x。无论如何它应该可以工作,但最好使用一种语法以方便阅读/修改。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-07
    • 1970-01-01
    • 1970-01-01
    • 2016-04-01
    • 2012-03-09
    • 1970-01-01
    相关资源
    最近更新 更多