0
我试图做一个查询,输出一个列表公司的数据和每个公司的产品和折扣的数量,并按product_count排序。 此外,我需要将输出限制为每组30行MSSQL - OVER,ROW_NUMBER()和ORDER BY错误
SELECT * FROM (
SELECT *, (
SELECT COUNT(*) FROM Products WHERE Product_Comp_id = Comp_id
) as product_count, (
SELECT COUNT(*) FROM Discount WHERE Disc_Comp_id = Comp_id
) as discount_count , ROW_NUMBER() OVER (
ORDER BY product_count ASC
) AS RowNum FROM Company
) AS finalTable WHERE finalTable.RowNum BETWEEN 0 AND 30
,但我得到这个错误
无效的列名称PRODUCT_COUNT“。
表结构
Products
|-Product_id
|-Product_Name
|-Product_Description
|-Product_Comp_id
Discount
|-Disc_id
|-Disc_Name
|-Disc_Comp_id
|-Disc_Ammount
Company
|-Comp_id
|-Comp_Name
|-Comp_Address
提供的表结构来帮助你解决问题〜 –
你必须尝试把PRODUCT_COUNT在你的选择statment.you有cuase你的孩子选择statment创建它使用它的父statment。 –
你使用的是MySQL还是MS SQL Server? – jarlh