从两个表中的ID相同的两个表中选择数据

时间:2013-05-24 15:02:34

标签: mysql

好的,我有两个名为子对象的表:parentID,objectName,subID(主要)和子关系:ID,className

parentID | objectName | subID            ID| className|
_____________________________            ______________
    84   |   Test     |   14             14|    BOM      
    84   |   Test2    |   15             15|    Schematics

我希望将SubID与两个表中的ID匹配,具体取决于它们是否相同,然后迭代所有相同的值。什么是在Mysql中执行此操作的查询。

这就是我想要的样子:

subobjectNAME:
     --RelatedClass
     --RelatedClass2

等。

我知道这与JOIN有关,这是我正在使用的mysql查询,但它不能正常工作

"SELECT * from subrelation inner join subobject on subrelation.ID = subobject.subID"

也是我的while循环来抓住这个

while($join = mysqli_fetch_assoc($join))

3 个答案:

答案 0 :(得分:7)

JOIN两个表:

SELECT
  so.objectName,
  sr.ClassName
FROM subobject AS so
INNER JOIN subrelation AS sr ON so.subId = sr.ID;

请在此处查看:


另外,请参阅以下帖子,了解有关JOIN s的不同类型的更多信息:

答案 1 :(得分:0)

select 
  a.objectName, b.className 
from 
  subobject a 
left join 
   subrelation b on a.subID = b.ID

答案 2 :(得分:0)

使用Join

SELECT 
    subobject.ObjectName, 
    subrelation.ClassName 
FROM 
    subobject 
INNER JOIN
    subrelation ON subobject.subID = subrelation.ID

您可以在此处找到有关SQL连接的信息: http://en.wikipedia.org/wiki/Join_(SQL)

关于联接的MySQL手册中的信息: http://dev.mysql.com/doc/refman/5.0/en/join.html