我有两个表(bom和bom\u部分)。需要内部连接和显示 stock_deduct,GRN_id,part_id
领域。
表1(bom):
表2(bom\U零件):
mysql查询:
SELECT
bom_part.stock_deduct,
bom_part.GRN_id,
bom.part_id
FROM
bom
INNER JOIN
bom_part
ON bom_part.BOM_id=bom.id
WHERE
batch_id='0' AND
`sr_no`=23
ORDER BY
FIELD(part_id, 34,8,36,6)
查询结果:
预期结果:
即使 part_id
本例中字段为空 8, 6
,我只想在下面提到的结果中显示库存扣除字段为1的零件id。
库存扣减额\u idpart \u id1634293grn134181grn3362grn23616
如您所见,expected result表中的第4行和第7行是指定的 ORDER BY FIELD(part_id, 34,8,36,6)
命令。
提前谢谢。
1条答案
按热度按时间ct3nt3jp1#
我想你想要一个
left join
,和筛选:过滤器打开
bom.part_id
在where
子句带来bom
. 我们把零件表和left join
,因此不匹配的BOM表不会被过滤掉。最后,coalesce()
转向缺失stock_deduct
至1
.