Я работаю над некоторыми расширениями для Gerrit. У меня есть следующий запрос, чтобы получить ОБЩИЕ КОМИТЕТЫ, ОБЩИЙ ОБЗОР КОММЕНТАРИИ ... и т. Д. Для конкретного ACCOUNT_ID из gerrit DB.запрос количества запросов для каждой учетной записи
with
changeids as
(select change_id from PATCH_SETS where UPLOADER_ACCOUNT_ID=1001961),
patchcommentstoothers as
(select count(*) c from patch_comments where AUTHOR_ID!=1001961 AND Change_id in (select change_id from changeids)),
ownerchanges as
(select count(*) c from changes where owner_account_ID=1001961 and OPEN='Y'),
changemessages as
(select count(*) c from change_messages where AUTHOR_ID=1001961 and change_id not in (select change_id from changeids))
select pcto.c TOT_PATCH_COMMENTS, oc.c TOT_CHANGES, cm.c TOT_CHANGE_MESSAGES
from patchcommentstoothers pcto, ownerchanges oc, changemessages cm;
Теперь с вышеуказанным запросом я могу получить три счета для одного пользователя. Я хочу запустить указанный выше запрос для всех ACCOUNT_ID. Что-то вроде запускать этот запрос для каждой учетной записи (не только для 1001961 здесь) и вернуть все записи за один раз для всех учетных записей.
СЧЕТ таблица имеет следующие столбцы:
"REGISTERED_ON" TIMESTAMP (6) NOT NULL ENABLE,
"FULL_NAME" VARCHAR2(255 BYTE),
"PREFERRED_EMAIL" VARCHAR2(255 BYTE),
"CONTACT_FILED_ON" TIMESTAMP (6),
"MAXIMUM_PAGE_SIZE" NUMBER(6,0) DEFAULT 0,
"SHOW_SITE_HEADER" CHAR(1 BYTE) DEFAULT 'N',
"USE_FLASH_CLIPBOARD" CHAR(1 BYTE) DEFAULT 'N',
"DOWNLOAD_URL" VARCHAR2(20 BYTE),
"DOWNLOAD_COMMAND" VARCHAR2(20 BYTE),
"COPY_SELF_ON_EMAIL" CHAR(1 BYTE) DEFAULT 'N',
"DATE_FORMAT" VARCHAR2(10 BYTE),
"TIME_FORMAT" VARCHAR2(10 BYTE),
"INACTIVE" CHAR(1 BYTE) DEFAULT 'N',
"ACCOUNT_ID" NUMBER(11,0) DEFAULT 0
Я предпочел бы не использовать процедуры.
P.S. - Я сосать Oracle SQL.
Не указывайте столбцы при создании таблиц/представлений и т. Д. Это вызывает больше проблем, чем того стоит. Если вы не процитируете их, то предполагается, что все считается заглавным (однако вы его вводите), и вам не нужно ничего делать. Это также экономит много ввода. – Ben