1

这是我的mysql查询

  SELECT tm.MAGAZINE_ID, tm.MAGAZINE_NAME,tm.MAGAZINE_DESCRIPTION,pub.publisher_name,
                tmi.COVER_PAGE_THUMB AS COVER_PAGE_VERTICAL,tmi.FROM_DATE AS ISSUE_DATE,
                tm.html_flag AS HTML_EXIST,tm.CATEGORY_ID,tm.language_id,tm.is_free,tma.AppUrl,
                (SELECT issue_id from tbl_magazine_issue WHERE magazine_id = 141
                ORDER BY FROM_DATE DESC LIMIT 1) as temp_issue_id
            FROM tbl_magazine_apps as tma
                LEFT OUTER JOIN tbl_magazine_code as tmc ON tmc.Code = tma.AppsCode
                LEFT OUTER JOIN `tbl_magazine` AS tm ON tmc.magazine_Id = tm.MAGAZINE_ID 
                JOIN `tbl_magazine_issue` AS tmi ON temp_issue_id = tmi.issue_id
                LEFT OUTER JOIN mst_publisher AS pub ON tm.publisher_id=pub.publisher_id 
            WHERE
                tmi.PUBLISH_STATUS IN(1,3) 
                AND tmi.`OS_SELECT` = '".$osType."' 
                AND tma.id IN (".$appIds.")
                GROUP BY tm.MAGAZINE_ID
                ORDER BY tmi.ISSUE_DATE DESC

但我有一个错误

  #1054 - Unknown column 'temp_issue_id' in 'on clause'

如果有人知道这一点,请帮助我。我是新来的

4

4 回答 4

0

正如消息所示,该列temp_issue_id不在以下任何表中: tbl_magazine_appstbl_magazinetbl_magazine_issue。它也不是环境中的变量。

除此之外,如果没有更多关于数据结构的知识,任何人都几乎不可能弄清楚如何解决问题。

如果我根据表名冒险猜测,该特定连接将是:

            JOIN `tbl_magazine_issue` AS tmi ON tm.magazine_id = tmi.magazine_id

因为对我来说,杂志问题将与杂志联系起来是有意义的。不过,我不知道是什么temp_issue_id

于 2013-09-19T11:10:00.907 回答
0

AFAIK 子查询属于 from 部分: http ://dev.mysql.com/doc/refman/5.7/en/from-clause-subqueries.html 所以我会加入子查询。

像:

SELECT a.a, b.b
FROM table1 as a
JOIN (SELECT b from table2) as b ON a.key = b.key;
于 2013-09-19T11:10:01.200 回答
0

temp_issue_id为指定此列提供别名,我认为它应该是tm.issue_id

于 2013-09-19T11:10:08.127 回答
0

temp_issue_id 是根据查询的列名称。您需要将其转换为表并在 SELECT 子句中使用后续列​​。

于 2013-09-19T11:13:55.303 回答