使用 SQL 聚合结果作为 SELECT 子句中的条件
Using SQL aggregate results as condition in SELECT clause
我正在尝试通过 SQL 查询解决问题,其中我有下一列:
项目编号和 CROSS_REFFERENCE。 ITEM NUMBER 可以有多个 CROSS_REFFERENCE 值,我需要的是对它们进行计数,我可以通过分组依据和表达式计数来完成。但我需要的另一件事是声明,如果 ITEM NUMBER 比 return MULTI 多一个 CROSS_REFFERENCE,否则 return 绑定的 CROSS_REFFERENCE 的单个值到项目编号。
我试图将这个表达式用作新的库伦:
MFG: IIf(Count([CROSS_REFERENCE])>1,"MULTI",[CROSS_REFERENCE])
但是当我的结果 returns 时,我没有得到带有以太 MULTI 的项目编号的唯一列表,或者 CROSS_REFERENCE 的值。
知道我做错了什么吗?
SELECT
tbl_MFG_XREF.[ITEM NUMBER],
tbl_MFG_XREF.CROSS_REFERENCE,
Count(tbl_MFG_XREF.CROSS_REFERENCE) AS CountOfCROSS_REFERENCE,
IIf(Count([CROSS_REFERENCE])>1,"MULTI",[CROSS_REFERENCE]) AS MFG
FROM
tbl_MFG_XREF
GROUP BY
tbl_MFG_XREF.[ITEM NUMBER], tbl_MFG_XREF.CROSS_REFERENCE;
您需要一个基本查询:
SELECT
[ITEM NUMBER],
Count(CROSS_REFERENCE) AS CountOfCROSS_REFERENCE,
First(CROSS_REFERENCE) AS FirstCROSS_REFERENCE
FROM
tbl_MFG_XREF
GROUP BY
tbl_MFG_XREF.[ITEM NUMBER];
您也可以使用 Last 或 Min 或 Max,而不是 First
。 FirstCROSS_REFERENCE
仅当一个项目只有一个 CROSS_REFERENCE 时才使用。
将此查询保存为例如qryItemCountCrossref
以及使用它作为输入的第二个查询,例如
SELECT
[ITEM NUMBER],
CountOfCROSS_REFERENCE,
IIf(CountOfCROSS_REFERENCE > 1, "MULTI", FirstCROSS_REFERENCE) AS MFG
FROM qryItemCountCrossref
我正在尝试通过 SQL 查询解决问题,其中我有下一列: 项目编号和 CROSS_REFFERENCE。 ITEM NUMBER 可以有多个 CROSS_REFFERENCE 值,我需要的是对它们进行计数,我可以通过分组依据和表达式计数来完成。但我需要的另一件事是声明,如果 ITEM NUMBER 比 return MULTI 多一个 CROSS_REFFERENCE,否则 return 绑定的 CROSS_REFFERENCE 的单个值到项目编号。 我试图将这个表达式用作新的库伦:
MFG: IIf(Count([CROSS_REFERENCE])>1,"MULTI",[CROSS_REFERENCE])
但是当我的结果 returns 时,我没有得到带有以太 MULTI 的项目编号的唯一列表,或者 CROSS_REFERENCE 的值。
知道我做错了什么吗?
SELECT
tbl_MFG_XREF.[ITEM NUMBER],
tbl_MFG_XREF.CROSS_REFERENCE,
Count(tbl_MFG_XREF.CROSS_REFERENCE) AS CountOfCROSS_REFERENCE,
IIf(Count([CROSS_REFERENCE])>1,"MULTI",[CROSS_REFERENCE]) AS MFG
FROM
tbl_MFG_XREF
GROUP BY
tbl_MFG_XREF.[ITEM NUMBER], tbl_MFG_XREF.CROSS_REFERENCE;
您需要一个基本查询:
SELECT
[ITEM NUMBER],
Count(CROSS_REFERENCE) AS CountOfCROSS_REFERENCE,
First(CROSS_REFERENCE) AS FirstCROSS_REFERENCE
FROM
tbl_MFG_XREF
GROUP BY
tbl_MFG_XREF.[ITEM NUMBER];
您也可以使用 Last 或 Min 或 Max,而不是 First
。 FirstCROSS_REFERENCE
仅当一个项目只有一个 CROSS_REFERENCE 时才使用。
将此查询保存为例如qryItemCountCrossref
以及使用它作为输入的第二个查询,例如
SELECT
[ITEM NUMBER],
CountOfCROSS_REFERENCE,
IIf(CountOfCROSS_REFERENCE > 1, "MULTI", FirstCROSS_REFERENCE) AS MFG
FROM qryItemCountCrossref