繁体   English   中英

从2个表中添加具有相同名称的数量

[英]Adding Quantities that have same names from 2 tables

我有一个表,该表的零件号包含15个字符,并且在该字符串内,一个数字包含4个不同的功能。 我正在查询表,然后去掉不同的数字字符串,然后在其他表中使用。 我的问题是,当多个子字符串具有相同的值时。 然后,将其遍历我的材料明细表以获取制造整体零件所需的数量。 但是,当我想让它返回所有重复项的总和时,它将返回重复项。

这就是我在做什么:

$result = mysql_query("SELECT * FROM $table WHERE `active` = '1'");
    while ($r = mysql_fetch_assoc($result)) {
        $bucket_back_num = substr($r['part_num'],0,7);
        $bucket_bottom_num = substr($r['part_num'],0,7);
        $hooks_part_num = substr($r['part_num'],7,11-7);
        $grapple_part_num = substr($r['part_num'],11,15-11);
        $bucket_back_num .= $grapple_part_num;

        $result2 = mysql_query("SELECT *,sum(qty) as qty from bucket_part_bom WHERE `parent_part_num` = '$bucket_back_num' GROUP BY parent_part_num");
        while ($r2 = mysql_fetch_assoc($result2)) {
            echo '
                <tr>
                    <td style="width: 15%;">'.$r2['part_num'].'</td>
                    <td style="width: 25%; text-align: left;">'.$r2['desc'].'</td>
                    <td style="width: 15%;">'.$r2['qty'].'</td>
                    <td style="width: 15%;">Unpainted</td>
                    <td style="width: 10%;">Diff</td>
                    <td style="width: 10%;">Build</td>
                    <td style="width: 10%;">N/A</td>
                </tr>
            ';
        }
    }

返回的内容:

LM102BRBK   Bucket Back 102" Light Material Bare    1
LM1023XBK   Bucekt Back 102" Light Material, GF3X   1
LM1023XBK   Bucekt Back 102" Light Material, GF3X   1

使用JOIN将两个查询合并为一个查询

SELECT t.*, b.*, SUM(b.qty) AS qty
FROM $table AS t
JOIN bucket_part_bom AS b ON b.parent_part_num = SUBSTR(t.part_num, 1, 7)
GROUP BY b.parent_part_num

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM