SQL:计算一个 table 的不同值并按另一个分组
SQL: Count distinct values from one table and group by another one
这是我第一次来这里。经过长时间的研究,我无法找到解决我的(相对简单的)问题的方法。
我有 2 个 table:
table"Product"有以下数据:
cod_product / cod_franchise
2 / 1
2 / 1
3 / 3
table "Item" 有以下行:
id_item / cod_product
1 / 1
2 / 2
3 / 2
我需要确定每个特许经营权在 "Item" table.
中出现的次数(通过其各自的 cod_product)
因此我 运行 以下 SQL 代码:
SELECT P.COD_FRANCHISE, COUNT (I.COD_PRODUCT) AS 'QUANTITY'
FROM PRODUCT P
INNER JOIN ITEM I ON P.COD_PRODUCT = I.COD_PRODUCT
GROUP BY P.COD_FRANCHISE
但我使用 MS Access 得到的只是一条 "TYPE MISMATCH IN EXPRESSION" 错误消息。
有人可以帮我吗?
最佳,
我已经尝试了您的查询(copy/paste 代码),它按原样完美运行。
我的猜测是您的 table 字段之一设置为与其他字段不同的数据类型。在创建模式下打开每个 table 并将所有数据类型更改为数字或文本,只要它们都相同即可。
如果您不知道how/don不想更改数据类型,您可以使用此查询:
SELECT P.COD_FRANCHISE*1, COUNT(I.COD_PRODUCT) AS ['QUANTITY'] FROM
PRODUCT AS P INNER JOIN ITEM AS I ON P.COD_PRODUCT*1=I.COD_PRODUCT*1
GROUP BY P.COD_FRANCHISE;
随处放置的“*1”将强制 Access 更改您的数据类型。
这是我第一次来这里。经过长时间的研究,我无法找到解决我的(相对简单的)问题的方法。
我有 2 个 table:
table"Product"有以下数据:
cod_product / cod_franchise
2 / 1
2 / 1
3 / 3
table "Item" 有以下行:
id_item / cod_product
1 / 1
2 / 2
3 / 2
我需要确定每个特许经营权在 "Item" table.
中出现的次数(通过其各自的 cod_product)因此我 运行 以下 SQL 代码:
SELECT P.COD_FRANCHISE, COUNT (I.COD_PRODUCT) AS 'QUANTITY'
FROM PRODUCT P
INNER JOIN ITEM I ON P.COD_PRODUCT = I.COD_PRODUCT
GROUP BY P.COD_FRANCHISE
但我使用 MS Access 得到的只是一条 "TYPE MISMATCH IN EXPRESSION" 错误消息。
有人可以帮我吗?
最佳,
我已经尝试了您的查询(copy/paste 代码),它按原样完美运行。
我的猜测是您的 table 字段之一设置为与其他字段不同的数据类型。在创建模式下打开每个 table 并将所有数据类型更改为数字或文本,只要它们都相同即可。
如果您不知道how/don不想更改数据类型,您可以使用此查询:
SELECT P.COD_FRANCHISE*1, COUNT(I.COD_PRODUCT) AS ['QUANTITY'] FROM PRODUCT AS P INNER JOIN ITEM AS I ON P.COD_PRODUCT*1=I.COD_PRODUCT*1 GROUP BY P.COD_FRANCHISE;
随处放置的“*1”将强制 Access 更改您的数据类型。