我有两个表需要加入,我不确定如何做到这一点。我还在努力学习如何加入,我知道有很多不同的类型。这是我的表格:
laser feature1 feature2 feature3
laser1 1 1 0
laser2 1 0 1
laser3 1 1 0
feature_name feature_text
Feature #1 Text 1
Feature #2 Text 2
Feature #3 Text 3
如何将这两个表连接在一起,以便只获得feature_names和feature_texts,其中顶部表中有1个?
答案 0 :(得分:3)
这是一个更好的结构:
laser (Table)
-------------
laser_name, laser_id
feature (Table)
---------------
feature_name, feature_texts, feature_id
feature_laser (Table)
---------------------
laser_id, feature_id
修改强>
如果你想看看与feature_id = 1相关的激光器,你可以像这样加入:
select laser_name from laser
inner join feature_laser on feature_laser.laser_id = laser.laser_id
where feature_id = 1;
如果您想查看与laser_id = 1相关的功能,那么您可以像这样加入:
select feature_name from features
inner join feature_laser on feature_laser.feature_id = features.feature_id
where laser_id = 1;
答案 1 :(得分:2)
假设feature1,fetaure2等是列,您将无法以正常方式使用连接执行此操作,因为您的数据库未正确规范化。您需要丢失这些列并创建一个laser_feature链接表,以便首先获得正确的多对多关系。