根据附图,我有7个表格。 我将输入Engine Number或Chassis Number,它应该显示相应的表信息(这些表只提到了字段),因此所有字段都可以显示为结果。 我可以使用硬编码的引擎号或机箱号。每次执行此查询时,我都会对所需的引擎/机箱号进行硬编码并获得结果。 有人可以帮我写一下这个问题吗? Click Here to See the Tables
答案 0 :(得分:0)
这可能是您解决方案的起点。
SELECT prod.EngineNo AS engNo, prod.ChassisNo, doral.doralNo [, table.column [AS name]]
FROM DOProductSpecsDetais AS prod
INNER JOIN DORAL AS doral
ON prod.DOProductSpecsDetailID = doral.DOProductSpecsID
INNER JOIN DOProductDetail AS prodDetail
ON prod.DOProductDetailID = prodDetail.DOProductDetailID
WHERE prod.ChassisNo = '<input>' OR prod.EngineNo='<input>'
在SELECT
和FROM
声明之间,您可以从JOIN
中选择任意列。
您可以根据需要级联尽可能多的JOIN
...
您打算使用哪个DBMS?
一个建议:尽可能尝试简化列的名称。
还有一个:如果你刚刚开始做数据库事务,那么启动测试环境并使用客户端工具总是有帮助的。
答案 1 :(得分:0)
你可以写这样的查询:
select * from
DoProductSpecsDetail tbl1 inner join Doral tbl2
on tbl1.DoProductSpecsDetailId = tbl2.DoProductSpecsId
inner join DoproductDetail tbl3
on tbl1.DoProductDetailId = tbl3.DoProductDetailId
inner join ProductColor tbl4
on tbl1.ProductColorId = tbl4.ProductColorId
inner join DoDetail tbl5
on tbl3.DeliveryOrderDetailId = tbl5.DeliveryOrderId
inner join ProductMain tbl6
on tbl3.ProductId = tbl6.ProductId
inner join BPMain tbl7
on tbl5.BusinessPartnerId = tbl7.BusinessPartnerId