2017-04-27 79 views
1

enter image description hereSQL搜索,一对多的关系

有没有办法让所有的组件及其属性与SQL搜索特定的计算机?

+1

从该模式似乎只有现有组件的CPU ......是这样吗,还是有更多的实体? –

+0

还有更多更多 – Fluff

+1

可能有。你试过什么了?预期产出是多少? – Shadow

回答

1

如果我确定关系吧,这可能工作..

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 
+0

什么样的数据这会产生吗? – Fluff

+0

特定计算机的所有组件及其属性 –

+0

@Fluff - 这是一个多么奇怪的问题。一个sql查询会产生一个结果集,你用它做什么取决于你。 –

4
select manufacturer,price,imglink,cores,brand,clock_frequency 
from computer 
inner join computer_has_comp on computer.computer_id=computer_has_comp.computer_computer_id 
inner join cpu on computer_has_comp.compid=cpu.compid 
+0

此查询内连接所有这三个tables.Table电脑与台式computer_has_comp有一个共同的列“COMPUTER_ID”,所以首先我们加入这些tables.Then表computer_has_comp和表CPU具有公共列“compid”,所以我们加入it.By做这三个表被连接在一起,我们可以从这三个表中选择所需的列。 – 2017-04-27 11:23:40

+0

我想你应该在你的回答中向OP解释一下:) – Sami

+0

好兄弟:) thankyou – 2017-09-13 05:15:13