Спасибо за вашу помощь!4 таблицы соединяются так, что для каждой компании дается только 1 ответ, а не результат для каждой кампании
Я хотел бы выводить все записи COMPANYNAME, которые имеют загрузку через любой из их ServerFiles как:
companies.companyName - кол (files.fileID) - сумма (serverFiles.uniqueUploads)
Initech Ltd. - 11 - 24931
Epiphyte Inc. - 23 - 938821
Вот relavent части моей таблицы структуры:
Таблица: компании
companyID (INT) - companyName (TEXT)
Таблица: кампании
campaignID(INT) - companyID (INT)
Таблица: файлы
fileID (INT) - campaignID (INT)
Таблица: ServerFiles serverFileID (INT) - FILEID (INT) - uniqueUploads (INT)
Каждая компания может иметь несколько кампаний.
В каждой кампании может быть несколько файлов.
Каждый файл может иметь несколько ServerFiles
Запрос я пытался использовать следующим образом:
SELECT companies.companyName, sum(serverFiles.uniqueUploads), count(files.fileID)
FROM companies
INNER JOIN campaigns on companies.companyID = campaigns.companyID
INNER JOIN files on files.campaign = campaigns.campaignID
LEFT OUTER JOIN serverFiles on serverfiles.fileID = files.fileID
GROUP BY serverFiles.uniqueUploads, files.fileID
ORDER BY sum(serverFiles.uniqueUploads) DESC;
Однако это возвращает несколько записей для каждой компании (так как он создает несколько выходов для каждой компании - по одной для каждой кампании в компании).
например:
companies.companyName - COUNT (files.fileID) - сумма (serverFiles.uniqueUploads)
Initech Ltd. - 2 - 234234 (for initech campaign1)
Initech Ltd. - 4 - 223323 (for initech campaign2)
Epiphyte Inc. - 13 - 6434 (for epiphyte campaign1)
Initech Ltd. - 1 - 554 (for initech campaign3)
Epiphyte Inc. - 13 - 7544 (for epiphyte campaign2)
Epiphyte Inc. - 11 - 74545 (for epiphyte campaign3)
Epiphyte Inc. - 23 - 456544 (for epiphyte campaign4)
Как изменить запрос, чтобы только дать мне один ответ обратно на каждая компания, подводя итоги всех кампаний в рамках этой компании.
Большое спасибо за любую помощь.
+1 для использования Initech, но это выглядит как простая группа по решению – mson