Mysql Sql搜索,一对多关系

Mysql Sql搜索,一对多关系,mysql,sql,Mysql,Sql,有没有办法通过sql搜索获取特定计算机的所有组件及其属性?如果我正确识别了关系,这可能会起作用 SELECT computer.*, computer_has_comp.*, cpu.* FROM computer LEFT JOIN computer_has_comp ON computer.computer_id=computer_has_comp.computer_computer_id LEFT JOIN cpu ON computer_has_comp.compid=cpu.comp


有没有办法通过sql搜索获取特定计算机的所有组件及其属性?

如果我正确识别了关系,这可能会起作用

SELECT computer.*, computer_has_comp.*, cpu.* FROM computer 
LEFT JOIN computer_has_comp ON computer.computer_id=computer_has_comp.computer_computer_id
LEFT JOIN cpu ON computer_has_comp.compid=cpu.compid

如果我正确地确定了关系,这可能会起作用

SELECT computer.*, computer_has_comp.*, cpu.* FROM computer 
LEFT JOIN computer_has_comp ON computer.computer_id=computer_has_comp.computer_computer_id
LEFT JOIN cpu ON computer_has_comp.compid=cpu.compid


从这个模式看来,唯一存在的组件是CPU。。。是这样,还是有更多的实体?可能还有更多的实体。到目前为止你试过什么?预期的输出是什么?这不是@Shadow想要的。。。从这个模式看来,唯一存在的组件是CPU。。。是这样,还是有更多的实体?可能还有更多的实体。到目前为止你试过什么?预期的输出是什么?这不是@Shadow想要的。。。这将生成什么样的数据?特定对象的所有组件及其属性computer@Fluff-多么奇怪的问题。sql查询将生成一个结果集,如何使用它取决于您。这将生成什么样的数据?特定查询的所有组件及其属性computer@Fluff-多么奇怪的问题。sql查询将生成一个结果集,您如何处理它取决于您。此查询内部联接所有这三个表。表计算机和表计算机有一个公共列“computer\u id”,因此首先我们联接了这些表。然后表计算机有一个公共列“compid”,表cpu有一个公共列“compid”,所以我们加入了它。通过这样做,三个表被加入,我们可以从三个表中选择所需的列。我想你应该在回答中向OP解释一下:)这个查询内部连接了所有这三个表。Table computer和Table computer有一个公共列“computer\u id”,首先我们加入了这些表。然后表计算机有comp,表cpu有公共列“compid”,所以我们加入了它。通过这样做,三个表被加入,我们可以从三个表中选择所需的列。我想你应该在回答中向OP解释一下:)