2015-11-27 2 views
1

я использую этот запрос, чтобы получить количество документов в папке содержит:Получить папки без документов

$query = " 
     SELECT 
      *, 
      count(*) as number_documents 
     FROM 
      table_documents 
     LEFT JOIN 
      table_folders ON folder_id = document_folder_id 
     GROUP BY 
      document_folder_id 
     ORDER BY 
      number_documents DESC 
"; 

Я не могу получить папки с 0 документами, как я получаю папки иметь:

ПАПКА 1 - 100 документов

папки 2 - 35 документов

ПАПКА 3 - 0 документы

ТАБЛИЦА:

**table_folders** 
folder_id 
folder_description 
folder_active 

**table_documents** 
document_id 
document_folder_id 
document_description 
document_file 
+0

Вы пробовали использовать инструкцию WHERE. то есть WHERE number_documents = 0 –

+0

вы пробовали ответ –

+0

Не возвратитесь как ожидалось @Vigneswaran S –

ответ

0

Я думаю, вы должны суммировать документы из папки документов. Попробуйте запрос

SELECT d.document_folder_id 
    , SUM(d.documents) as number_documents 
    FROM table_documents d 
    LEFT 
    JOIN table_folder f 
    ON f.folder_id = d.document_folder_id 
GROUP BY d.document_folder_id 

, так как вы вмятина четко разъяснены о структуре таблицы .I создали таблицу локально и попытался, попробуйте запрос, который я пытался локально

create table table_documents(id int,doc int); 
insert into table_documents values 
(1,100), 
(2,35), 
(3,0), 
(1,101), 
(2,36), 
(3,0); 

create table table_folder(id int); 
insert into table_folder values 
(1),(2),(3); 

SELECT d.id 
    , SUM(d.doc) as number_documents 
    FROM table_documents d 
    LEFT 
    JOIN table_folder f 
    ON f.id = d.id 
GROUP 
    BY d.id;// query for your output 
+0

Ум, я думаю, что ваши столы обращены к фронту. – Strawberry

0

Это будет работать:

 SELECT 
      *, 
      sum(if (document_folder_id is null,0,1)) as number_documents 
     FROM 
      table_folders 
     LEFT JOIN 
      table_documents ON document_folder_id = folder_id 
     GROUP BY 
      folder_id 
     ORDER BY 
      number_documents DESC 
Смежные вопросы