【问题标题】:Mysql - Query does not work on the serverMysql - 查询在服务器上不起作用
【发布时间】:2014-07-19 09:41:31
【问题描述】:

此查询在服务器上对我不起作用,否则它在本地主机的 Phpmyadmin 上正常工作:

SELECT * FROM op_theme_certification
AS t 
INNER JOIN op_category_module AS c 
ON t.cat_mod_id = c.cat_mod_id, 
(SELECT cat_mod_id, MAX(date_expiration) AS max_date FROM op_theme_certification 
GROUP BY cat_mod_id) AS b 
WHERE t.doc_id = '1' 
AND t.cat_mod_id = b.cat_mod_id 
AND t.date_expiration = b.max_date

任何可以帮助我吗? 提前致谢。

【问题讨论】:

  • 您在本地使用哪个操作系统,哪个在服务器上?
  • 我正在使用 wamp (mysql 5.5.20)
  • 在服务器上我有 mysql 5.5.35
  • 在服务器上使用 Phpmyadmin 或 PHP 代码运行?如果是后者,您可以发布运行查询的 PHP 代码吗?
  • "phpMyAdmin" 本身在服务器上运行,先生!请更准确!

标签: php mysql sql phpmyadmin


【解决方案1】:

虽然它看起来是正确的,但我在过去看到过一些答案,由于某种原因,我不赞成使用“AS”子句来为表加上“AS”列名的别名。我会从那里开始。其次,我注意到您正在使用连接与逗号/where 连接的组合。以下是您现在拥有的替代方案。

SELECT 
      * 
   FROM 
      op_theme_certification t
         INNER JOIN op_category_module c
            ON t.cat_mod_id = c.cat_mod_id
         INNER JOIN 
            ( SELECT 
                    cat_mod_id, 
                    MAX(date_expiration) max_date 
                 FROM 
                    op_theme_certification
                 GROUP BY 
                    cat_mod_id) b
            ON t.cat_mod_id = b.cat_mod_id 
           AND t.date_expiration = b.max_date
   WHERE 
      t.doc_id = '1' 

我肯定会在 (cat_mod_id, date_expiration) 上对您的 op_theme_certification 有一个复合索引。

【讨论】:

  • 感谢您的回答,但它对我的适配代码不起作用。我认为它依赖于 sub_query ` ( SELECT cat_mod_id, MAX(date_expiration) max_date FROM op_theme_certification GROUP BY cat_mod_id) b`
  • 我的问题在于:AND t.date_expiration = b.max_date
  • SELECT * FROM op_theme_certification t INNER JOIN op_category_module c ON t.cat_mod_id = c.cat_mod_id INNER JOIN (SELECT cat_mod_id, MAX(date_expiration) max_date FROM op_theme_certification GROUP BY cat_mod_id) b ON t.cat_mod_id = b。 cat_mod_id AND t.date_expiration = b.max_date AND doc_id = '1' WHERE t.doc_id = '1'
猜你喜欢
  • 1970-01-01
  • 2023-03-05
  • 2019-05-22
  • 1970-01-01
  • 1970-01-01
  • 2020-04-10
  • 2013-05-28
  • 1970-01-01
  • 2012-03-06
相关资源
最近更新 更多