从mysql中的许多表中获取结果

时间:2011-10-14 10:15:09

标签: php mysql select multiple-tables

我有一些表格,我需要将结果汇总到一个查询中。

今天我就是这样做的。

$sql="select * from structure 
a, audio b where a.id=b.id_parent and b.published=1 order by b.data desc";

这给了我一个音频列表。 我需要做的是从许多表中获取响应。如你所见,我正在调用两个表结构和音频。我需要从结构,音频,矢量和照片中获得结果。有什么线索我会怎么做?

2 个答案:

答案 0 :(得分:2)

如果您在这些表中有关系,那么您可以使用加入从多个表中获取数据

select * from structure 
a inner join 
audio b on a.id=b.id_parent where b.published=1 order by b.data desc
根据用户的评论

已修改

你可以做内连接的嵌套,例如

    SELECT DISTINCTROW 
       tblChippingSystems.Manufacturer_ID
     , tblChippingSystems.Chippingcounter
     , tblManufacturer.ManufacturerDesc
     , tblChippingSystems.Customer_ID 
  FROM ( tblChippingSystems 
INNER
  JOIN tblManufacturer 
    ON tblChippingSystems.Manufacturer_ID 
     = tblManufacturer.Manufacturer_ID )
INNER
  JOIN tblModel 
    ON tblChippingSystems.Model_ID = tblModel.Model_ID
 WHERE tblChippingSystems.Customer_ID =   k
ORDER 
    BY tblChippingSystems.Manufacturer_ID DESC
  

但请确保您在这些表格之间有适当的参考   仔细检查您的结果数据

答案 1 :(得分:0)

另一种方法是在数据库中创建基于联接查询的视图。这样,您的程序只需要从该视图中查询。

您仍然需要编写连接SQL,但至少在完成后,它将对其余编码透明。