如何计算 apex 5 中单独记录的 table 中字符串的唯一出现次数
How to count unique occurences of string in table for separate records in apex 5
我正在尝试自动计算 table 中保存的字符串的唯一出现次数。目前我有一个字符串的计数,但只有当用户 selects 字符串并且它为每条记录提供相同的计数值时。
例如
下面是我现在的照片 table:
从图像中可以看到有一个 Requirement 列和一个 count 列。我已经明白了,当用户 select 一个需求记录(每个需求记录都有一个 link)时,它会将需求文本插入到一个名为 'P33_REQUIREMENT' 的需求项中,所以count 可以有一个值来比较。
这是我目前拥有的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用来制作图片中的table。
这个问题是,当用户 select 是一个要求值时,它给每条记录相同的计数。我可以通过在计数的 where 子句中添加 AND DIA_SELECTED = :P33_DIA
来解决这个问题。 DIA_SELECTED 是 table 中的第一列,而 :P33_DIA 是存储与所选记录相关的 DIA 参考编号的项目。
输出如下:
如您所见,只有一个计数。仍然不能解决整个问题,但会好一点。
所以综上所述,有没有一种方法可以进行计数,分别计算出现的次数并将它们插入到相同的需求中。因此,如果像图像中那样有三个测试,则在 requirement = 'test' 的计数列中会有一个“3”,如果有一个带有 'test the system' 的记录,则会有一个“1”计数列。
此外,对于更多上下文,我不知道用户将输入什么内容,因此我无法与预先确定的字符串进行比较。
我是堆栈溢出的新手,希望我已经解释得足够多了,不会太混乱。
以下摘录:
SELECT (SELECT COUNT(*)
FROM DIA_ASSOCIATED_QMS_DOCUMENTS
WHERE REQUIREMENT = :P33_REQUIREMENT group by REQUIREMENT ) AS COUNT
可以替换为
SELECT (SELECT COUNT(*)
FROM DIA_ASSOCIATED_QMS_DOCUMENTS
WHERE REQUIREMENT = DAQD.REQUIREMENT ) AS COUNT
这将为您提供 - 对于每一行,相同要求的数量。
我不完全确定这是你所追求的,但如果不是,它应该会给你一些关于如何进步的想法(或者允许你指出我未能理解你的要求的地方)
我正在尝试自动计算 table 中保存的字符串的唯一出现次数。目前我有一个字符串的计数,但只有当用户 selects 字符串并且它为每条记录提供相同的计数值时。
例如
下面是我现在的照片 table:
从图像中可以看到有一个 Requirement 列和一个 count 列。我已经明白了,当用户 select 一个需求记录(每个需求记录都有一个 link)时,它会将需求文本插入到一个名为 'P33_REQUIREMENT' 的需求项中,所以count 可以有一个值来比较。
这是我目前拥有的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用来制作图片中的table。
这个问题是,当用户 select 是一个要求值时,它给每条记录相同的计数。我可以通过在计数的 where 子句中添加 AND DIA_SELECTED = :P33_DIA
来解决这个问题。 DIA_SELECTED 是 table 中的第一列,而 :P33_DIA 是存储与所选记录相关的 DIA 参考编号的项目。
输出如下:
如您所见,只有一个计数。仍然不能解决整个问题,但会好一点。
所以综上所述,有没有一种方法可以进行计数,分别计算出现的次数并将它们插入到相同的需求中。因此,如果像图像中那样有三个测试,则在 requirement = 'test' 的计数列中会有一个“3”,如果有一个带有 'test the system' 的记录,则会有一个“1”计数列。
此外,对于更多上下文,我不知道用户将输入什么内容,因此我无法与预先确定的字符串进行比较。
我是堆栈溢出的新手,希望我已经解释得足够多了,不会太混乱。
以下摘录:
SELECT (SELECT COUNT(*)
FROM DIA_ASSOCIATED_QMS_DOCUMENTS
WHERE REQUIREMENT = :P33_REQUIREMENT group by REQUIREMENT ) AS COUNT
可以替换为
SELECT (SELECT COUNT(*)
FROM DIA_ASSOCIATED_QMS_DOCUMENTS
WHERE REQUIREMENT = DAQD.REQUIREMENT ) AS COUNT
这将为您提供 - 对于每一行,相同要求的数量。 我不完全确定这是你所追求的,但如果不是,它应该会给你一些关于如何进步的想法(或者允许你指出我未能理解你的要求的地方)