子查询错误
sub queries error
我无法在下面的 sql 子查询中找到错误。我想要 PublisherWise ImgCount 作为我的输出。请指导我哪里做错了。 TIA.
SELECT pubinfo.mf_pu_id,pubinfo.mf_pu_name, lang.mf_li_name, COUNT(innQ1.mf_cr_fileid) AS Imgcount
FROM mf_publication_info AS pubinfo
LEFT JOIN
(SELECT mf_cr_fileid,mf_cr_masid,mf_cr_pubid, innQ.`mf_mi_publisheddate`
FROM mf_compare_results
WHERE mf_cr_enginedecision='p'AND mf_cr_userdecision IN('M',' M',' EM','EM')
INNER JOIN
(SELECT mf_mi_id,mf_mi_publisheddate
FROM mf_media_info
WHERE mf_mi_publisheddate BETWEEN '2015-07-27' AND
'2015-07-31' AND `mf_mi_processid`=16
) AS innQ
) AS innQ1
ON innQ1.mf_cr_fileid=innQ.mf_mi_id
ON pubinfo.mf_pu_id=innQ1.mf_cr_pubid
INNER JOIN mf_language_info lang
ON pubinfo.mf_pu_langid = lang.mf_li_id
GROUP BY pubinfo.mf_pu_name ORDER BY pubinfo.mf_pu_name
这里有以下两种解读,(我认为),如有错误请指正
示例 1:
SELECT x
FROM table 1
LEFT JOIN (sub 1) alias ON x=x
INNER JOIN (sub 2) alias ON x=x
INNER JOIN table 2 ON x=x
GROUP BY x
ORDER BY x
示例 2:
SELECT x
FROM table 1
LEFT JOIN (
(sub 1) alias
INNER JOIN
(sub 2) alias ON x=x
) alias ON x=x
INNER JOIN table 2 ON x=x
GROUP BY x
ORDER BY x
如果是第二个(这对我来说很有意义),那么您需要为第一个子查询设置一个别名,并在第一个左连接处使用一个左括号,并为第一个内部连接子查询设置 ON 标准。
请写下,因为我有一个非常简化的版本,你想写的东西,这样应该更有意义。
我无法在下面的 sql 子查询中找到错误。我想要 PublisherWise ImgCount 作为我的输出。请指导我哪里做错了。 TIA.
SELECT pubinfo.mf_pu_id,pubinfo.mf_pu_name, lang.mf_li_name, COUNT(innQ1.mf_cr_fileid) AS Imgcount
FROM mf_publication_info AS pubinfo
LEFT JOIN
(SELECT mf_cr_fileid,mf_cr_masid,mf_cr_pubid, innQ.`mf_mi_publisheddate`
FROM mf_compare_results
WHERE mf_cr_enginedecision='p'AND mf_cr_userdecision IN('M',' M',' EM','EM')
INNER JOIN
(SELECT mf_mi_id,mf_mi_publisheddate
FROM mf_media_info
WHERE mf_mi_publisheddate BETWEEN '2015-07-27' AND
'2015-07-31' AND `mf_mi_processid`=16
) AS innQ
) AS innQ1
ON innQ1.mf_cr_fileid=innQ.mf_mi_id
ON pubinfo.mf_pu_id=innQ1.mf_cr_pubid
INNER JOIN mf_language_info lang
ON pubinfo.mf_pu_langid = lang.mf_li_id
GROUP BY pubinfo.mf_pu_name ORDER BY pubinfo.mf_pu_name
这里有以下两种解读,(我认为),如有错误请指正
示例 1:
SELECT x
FROM table 1
LEFT JOIN (sub 1) alias ON x=x
INNER JOIN (sub 2) alias ON x=x
INNER JOIN table 2 ON x=x
GROUP BY x
ORDER BY x
示例 2:
SELECT x
FROM table 1
LEFT JOIN (
(sub 1) alias
INNER JOIN
(sub 2) alias ON x=x
) alias ON x=x
INNER JOIN table 2 ON x=x
GROUP BY x
ORDER BY x
如果是第二个(这对我来说很有意义),那么您需要为第一个子查询设置一个别名,并在第一个左连接处使用一个左括号,并为第一个内部连接子查询设置 ON 标准。
请写下,因为我有一个非常简化的版本,你想写的东西,这样应该更有意义。