gpt4 book ai didi

sql - 不明确的列名错误 : SQL count, join, group by

转载 作者:行者123 更新时间:2023-12-02 06:36:44 25 4
gpt4 key购买 nike

我有如下两个表,一个表有可用单位数(库存),我试图返回每个产品类别的库存数量,并将其与辅助表连接以查看描述和价格等。

当我运行以下查询时,我得到“列名‘productID’不明确”。

我做错了什么?

SQL 查询:

select productID, count (stock)as available_count
from product_units
join product_type ON product_type.description = product_units.productID
group by productID

这会返回一个错误:

Ambiguous column name 'productID'.

表 product_type

productID  description  price 
101 tent 20.00
102 xltent 50.00

表 product_units

unitID  productID stock
1 101 1
2 101 1
3 101 1
4 102 1

获取库存数量的原始 SQL 查询,有效:

select productID, count (stock)as available_count
from product_units
group by productID

我正在使用 SQL Server 2008 R2 和 Coldfusion

最佳答案

我认为您的错误更有可能是“列名‘productID’不明确”。而且,我猜 join 也应该在那个字段上:

select product_units.productID, count (stock)as available_count
from product_units
join product_type ON product_type.productID = product_units.productID
group by product_units.productID

要从 product_type 表中选择所有行,请使用右外连接:

select product_units.productID, count (stock)as available_count
from product_units
right outer join product_type ON product_type.productID = product_units.productID
group by product_units.productID

从product type表中选取所有信息,先聚合再join:

select pt.*, pu.available_count
from (select productId, count(stock) as available_count
from product_units
group by productId
) pu join
product_type pt
on pt.productID = pu.productId;

关于sql - 不明确的列名错误 : SQL count, join, group by,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16599077/

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