Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从下面的sql表中获得mysql中的产品总成本?_Mysql_Database - Fatal编程技术网

如何从下面的sql表中获得mysql中的产品总成本?

如何从下面的sql表中获得mysql中的产品总成本?,mysql,database,Mysql,Database,如何从下表中计算产品的总成本? 表1:构成部分 pk_comp_id comp_name fk_comp_type_id com_price 1 Vertical Glass Panels 3 50.00 2 Side Frame 2 32.00 3 Front Frame

如何从下表中计算产品的总成本? 表1:构成部分

 pk_comp_id     comp_name           fk_comp_type_id  com_price
        1           Vertical Glass Panels   3               50.00
        2           Side Frame              2               32.00
        3           Front Frame             2               35.00
        4           Roof Section            3               50.00
        5           Door Frame              1               100.00
        6           Standard Timber Plank   2               100.00
        7           Brackets                6               20.00
        8           Door Section            2               50.00
fk_prod_id  fk_comp_id  number
    1           1       20
    1           2       2
    1           3       2
    1           4       2
    1           5       1
    2           1       40
    2           2       4
    2           3       2
    2           4       4
    2           5       1
    3           6       35
    3           7       60
    3           8       1
表2:产品

 pk_prod_id  prod_name         fk_prod_type_id
    1       Small Green House   1
    2       Large Green House   1
    3       Small Shed          2
    4       Small Summer House  3
    5       Large Summer House  3
表3:产品和部件

 pk_comp_id     comp_name           fk_comp_type_id  com_price
        1           Vertical Glass Panels   3               50.00
        2           Side Frame              2               32.00
        3           Front Frame             2               35.00
        4           Roof Section            3               50.00
        5           Door Frame              1               100.00
        6           Standard Timber Plank   2               100.00
        7           Brackets                6               20.00
        8           Door Section            2               50.00
fk_prod_id  fk_comp_id  number
    1           1       20
    1           2       2
    1           3       2
    1           4       2
    1           5       1
    2           1       40
    2           2       4
    2           3       2
    2           4       4
    2           5       1
    3           6       35
    3           7       60
    3           8       1
以下是我到目前为止所做的

SELECT 
SUM(`components`.`com_price`*`products_components`.`number`) AS com_g_total,
`products`.`prod_name`, `products`.`pk_prod_id`
FROM `products`
INNER JOIN `products_components` ON `products_components`.`fk_prod_id` = `products`.`pk_prod_id`
INNER JOIN `components` ON `components`.`pk_comp_id` = `products_components`.`fk_comp_id`

但这只给出了一行,其中我假设得到三行,每行的总成本为pk_prod_id 1,2,3。

添加一个
分组依据
条款:

SELECT 
SUM(`components`.`com_price`*`products_components`.`number`) AS com_g_total,
`products`.`prod_name`, `products`.`pk_prod_id`
FROM `products`
INNER JOIN `products_components` ON `products_components`.`fk_prod_id` = `products`.`pk_prod_id`
INNER JOIN `components` ON `components`.`pk_comp_id` = `products_components`.`fk_comp_id`
GROUP BY `products`.`pk_prod_id`
结果:

COM_G_TOTAL   PROD_NAME            PK_PROD_ID
1334          Small Green House    1
2498          Large Green House    2
4750          Small Shed           3

请参见中的结果。

您似乎缺少一个分组依据条款,并确保使用了正确的
分组依据:
:我也这样做了,但当时没有工作,但现在工作正常。谢谢你