gpt4 book ai didi

sql - 如何在SQL中选择3列并进行COUNT个INNER JOIN并将其显示为3列,但没有重复信息

转载 作者:行者123 更新时间:2023-12-03 18:04:03 25 4
gpt4 key购买 nike

我需要列出供应商的名称和代码以及每个供应商提供的产品数量,即供应商XXX提供了xxx个产品,供应商YYY提供了yyy产品等。我已经尝试过这些查询,但没有收到结果I想。

SELECT p_code, 
product.v_code,
vendor.v_name
FROM product
CROSS JOIN vendor;

SELECT p_code,
vendor.v_code,
v_name
FROM product
JOIN vendor
ON vendor.v_code = product.v_code;

SELECT v_code,
Count(DISTINCT( p_code ))
FROM product
GROUP BY v_code
UNION
SELECT v_name,
v_code AS NAME
FROM vendor;

SELECT product.p_code,
product.v_code,
vendor.v_name
FROM product
INNER JOIN vendor
ON product.v_code = vendor.v_code;


这就是表和列。

输出类似,但还需要列出供应商名称:



样表

最佳答案

请尝试使用内部联接和聚合进行以下操作:

SELECT VENDOR.V_CODE, V_NAME,count(distinct P_CODE) as productcount
FROM PRODUCT JOIN VENDOR ON VENDOR.V_CODE = PRODUCT.V_CODE
group by VENDOR.V_CODE, V_NAME

关于sql - 如何在SQL中选择3列并进行COUNT个INNER JOIN并将其显示为3列,但没有重复信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52530221/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com