SQL连接语句

时间:2011-07-18 18:08:21

标签: php sql

我有两个表需要加入,我不确定如何做到这一点。我还在努力学习如何加入,我知道有很多不同的类型。这是我的表格:

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个?

2 个答案:

答案 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链接表,以便首先获得正确的多对多关系。