Я пытаюсь автоматически подсчитать уникальные вхождения строки, сохраненной в таблице. В настоящее время у меня есть счетчик строки, но только когда пользователь выбирает строку, и он присваивает каждой записи одинаковое значение счетчика.
Например
Ниже изображение моей текущей таблицы:
Из изображения видно, что есть столбец «Требования» и столбец «Количество». Я понял, что когда пользователь выбирает запись требования (каждая запись требования имеет ссылку), он вставляет текст требования в элемент требования, называемый «P33_REQUIREMENT», так что счетчик может иметь значение для сравнения.
Это SQL, который у меня есть на данный момент:
SELECT (SELECT COUNT(*)
FROM DIA_ASSOCIATED_QMS_DOCUMENTS
WHERE REQUIREMENT = :P33_REQUIREMENT
group by REQUIREMENT
) AS COUNT,
DPD.DIA_SELECTED,
DPD.Q_NUMBER_SELECTED,
DPD.SECTION_SELECTED,
DPD.ASSIGNED_TO_PERSON,
DAQD.REFERENCE,
DAQD.REQUIREMENT,
DAQD.PROGRESS,
DAQD.ACTION_DUE_DATE,
DAQD.COMPLETION_DATE,
DAQD.DIA_REF,
DA.DIA,
DA.ORG_RISK_SCORE
FROM DIA_PROPOSED_DETAIL DPD,
DIA_ASSOCIATED_QMS_DOCUMENTS DAQD,
DIA_ASSESSMENTS DA
WHERE DPD.DIA_SELECTED = DAQD.DIA_REF
AND DPD.DIA_SELECTED = DA.DIA
Это sql, используемый для создания таблицы на изображении.
Эта проблема связана с тем, что каждая запись получает одинаковое количество при выборе пользователем значения требования. Я могу это исправить, добавив AND DIA_SELECTED = :P33_DIA
в предложение where в count. DIA_SELECTED - это первый столбец таблицы, а P33_DIA - элемент, в котором хранится номер ссылки DIA, относящийся к выбранной записи.
Вывод выглядит так:

Как видите, существует только один счет. Все еще не решает всю проблему, но немного лучше.
Таким образом, чтобы подвести итог, есть способ подсчитать, подсчитать случаи в отдельности и вставить их в одинаковые требования. Таким образом, если есть три теста, как на изображениях, в столбце подсчета будет «3», где требование = «тест», и если будет одна запись с «проверить систему», в подсчете будет «1». колонка.
Также для большего контекста я не знаю, что пользователь введет в требование, поэтому я не могу сравнить с заранее заданными строками.
Я новичок в переполнении стека. Надеюсь, я объяснил достаточно, и это не слишком запутанно.