0

我的数据库中有三个名为supplier, materials,的表categories

在材料表中,它有一个supplier id外键,每种材料都有三个类别。我通过使用id类别表保留了这些类别。所以材料表中有三个字段来保存类别的ID。这意味着物料表具有类别表的三个外键。

现在我的问题是如何使用 sql join 与供应商和类别表从材料表中选择数据。

4

1 回答 1

0

你应该能够做这样的事情:

SELECT ...
FROM
    supplier
    JOIN materials ON
        supplier.supplier_id = materials.supplier_id
    JOIN categories ON (
        materials.category_id1 = categories.category_id
        OR materials.category_id2 = categories.category_id
        OR materials.category_id3 = categories.category_id
    )

但是你真的应该重新考虑你在materials和之间的连接方式categories。这看起来像一个常规的多对多关系,可以由这两个表之间的“联结”(又名“链接”)表表示。这将允许您对每种材料拥有无限的类别。

于 2013-05-01T10:41:26.700 回答