2015-11-23 3 views
0

Я не могу найти ошибку в нижеподпроцессах sql. Я хочу, чтобы PublisherWise ImgCount был моим выходом. Пожалуйста, помогите мне, где я ошибся. ТИА.ошибка sub queries

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 
+0

Вы правильно закончили первый подзапрос? (Немного непонятно, что вы пытаетесь сделать.) – jarlh

+0

yes Первый подзапрос завершен. Я хочу, чтобы publisherWise ImgCount с опубликованными датами. Поле «mf_mi_publisheddate» находится в таблице mf_media_info. Надеюсь, я поняла. –

+0

Какие dbms? (Несколько ошибок в соответствии с ANSI SQL ...) – jarlh

ответ

0

Это возможно для следующих двух интерпретаций, (я думаю), пожалуйста, вы можете исправить меня, если я ошибаюсь.

Пример 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 для первого внутреннего подзапроса соединения.

Пожалуйста, напишите, поскольку у меня очень упрощенная версия того, что вы пытаетесь написать, это должно иметь больший смысл.