我有两张表,table1
包含最终产品和产品部件,table2
包含table1.productid
和partsid
之间的映射。即。
table1
--------------------------------------------
productid descrip code cost ....etc
1235 product A 07 12.5 ......
789 labor 03 2.5 ....
839 part1 03 5 ....
和table2
看起来像
table2
--------------------------------------------
productid partsID quantity
1235 789 1
1235 839 2
2341 2315 2
.....
我需要选择符合特定代码的最终产品,然后从零件表中拉出零件并显示如下:
Resuls
--------------------------------------------
productid descrip code partsID cost ....etc
1235 product A 07 789 2.5 ......
1235 product A 03 839 5 ....
.......
基本上对于每个最终产品,将零件排列在正确的成本和所有其他与零件相关的细节而不是最终产品。
感谢您的任何帮助。
答案 0 :(得分:0)
您是否可以在ProductID字段中加入两个表:
SELECT * FROM
dbo.TABLE1 o INNER JOIN
dbo.TABLE2 t ON o.ProductId = t.ProductId
WHERE o.code = 7
OR o.code = 3
etc ... whatever additional criteria you need
如果您还需要加入partsID,您可以说
AND o.PartId = t.partsId
答案 1 :(得分:0)
看起来您希望得到类似此查询的内容,但我不确定代码= 07,您已在示例中指定。对于这两个部分,代码必须为03。
SELECT
prd.productid,
prd.descrip,
prt.code,
prdprt.partsID,
prt.cost,
....etc
FROM table1 prd
JOIN table2 prdprt ON prd.productid=prdprt.productid
JOIN table1 prt ON prdprt.partsID=prt.productid
WHERE prd.code in ('07', ...othecodes) --if you filter by product's code
OR prt.code in ('03', ...othecodes) --if you filter by parts's code