SQL查询连接两个表的数据与SUM和订单条款

问题描述:

我在我的数据库中有两个表。 tbl_Transaction_Detailtbl_Categrory_Typetbl_Transaction_Detail使用Category_Type_IDtbl_Category_Type作为外键。这里是我的表:SQL查询连接两个表的数据与SUM和订单条款

tbl_Category_Type

tbl_Transaction_Detail

我要总结的tbl_Transaction_DetailQuantityCategory_Type_ID(比方说31)。

这里是我此查询(在SQL Server 2008)

SELECT CAT.Category_type_Name, 
CAT.Description, 
CAT.Image_url, 
CAT.Price, 
CAT.Weight, 
Sum(TD.Quantity)'Quantity' from tbl_Transaction_Detail as TD 
inner join tbl_Category_type as CAT 
on TD .Category_Type_ID= CAT.Category_type_ID 
WHERE TD.Category_Type_ID = 31 
ORDER BY CAT.Category_type_Name, 
CAT.Description, 
CAT.Image_url, 
CAT.Price, 
CAT.Weight 

但它显示了错误的所有列选择一个接一个。

+0

您需要在SQL服务器中进行分组。 mySQl不需要它,因为它被扩展了group。添加'GROUP BY tbl_Category_type.Category_type_Name,tbl_Category_type.Description,tbl_Category_type.Image_url ,tbl_Category_type.Price,tbl_Category_type.Weight'并为了便于阅读,请使用表别名。 – xQbert

你必须子句中使用组,包括通过一项条款,使你想除了你正在使用聚合函数的列中选择组每列。请使用表别名来提高可读性。

SELECT CAT.Category_type_Name 
    ,CAT.Description 
    ,CAT.Image_url 
    ,CAT.Price 
    ,CAT.Weight 
    ,Sum(TD.Quantity) as Quantity 
    FROM tbl_Transaction_Detail TD 
    INNER JOIN tbl_Category_type CAT 
    on TD.Category_Type_ID=CAT.Category_type_ID 
    WHERE TD.Category_Type_ID=31 
    GROUP BY CAT.Category_type_Name 
    ,CAT.Description 
    ,CAT.Image_url 
    ,CAT.Price 
    ,CAT.Weight 
    ORDER BY CAT.Category_type_Name 
    ,CAT.Description 
    ,CAT.Image_url 
    ,CAT.Price 
    ,CAT.Weight 
+0

谢谢。有效。 – Iqra

+0

你可以建议我在select子句中选择一个** int **列,然后将它的值乘以1,然后将其绑定到gridview – Iqra

+0

你不需要用1来复制任何int值,因为答案在乘法后保持不变与1.但是,如果你想要乘以任何数字的int列,那么你的SQL查询将如下所示 ** Select(intColumn * number)作为名称从表** – Asad

只是缺少一个由SQL服务器....并使用表别名的可读性和间距!

select CT.Category_type_Name 
     ,CT.Description 
     ,CT.Image_url 
     ,CT.Price 
     ,CT.Weight 
     ,Sum(TD.Quantity) as Quantity 
FROM tbl_Transaction_Detail TD 
INNER JOIN tbl_Category_type CT 
    on TD.Category_Type_ID=CT.Category_type_ID 
WHERE TD.Category_Type_ID=31 
GROUP BY CT.Category_type_Name 
     ,CT.Description 
     ,CT.Image_url 
     ,CT.Price 
     ,CT.Weight 
ORDER BY CT.Category_type_Name 
     ,CT.Description 
     ,CT.Image_url 
     ,CT.Price 
     ,CT.Weight