Mysql Join内连接左连接右表上的多个表null

时间:2012-03-29 08:49:22

标签: php mysql relational-database

如何在mysql中显示多个表,我想显示一些数据,如:table1.autono,table1.name,table1.date。右表上的table1我看不到数据谢谢你的帮助

SELECT 
table1.autono, table2.number_reg, table3.no_auto, table4.address, table5.name
FROM table2
INNER JOIN table5 ON table3.no_auto=table5.auto_no
LEFT OUTER JOIN table3 ON table2.number_reg=table3.no_auto
LEFT JOIN table1 ON table3.auto_no=table1.name
WHERE 1=1
ORDER BY table2.number_reg

1 个答案:

答案 0 :(得分:0)

您可以随时使用AS

$query = mysql_query(SELECT tbl.column AS 'tbl.column' FROM tbl AS tbl ... );

然后迭代值并排序

foreach(mysql_fetch_assoc($query) as $col=>$val){
   list($tbl,$col) = explode('.',$col);
}

或使用mysql_field_table()mysql_field_name()函数

$query = mysql_query(...);
$fieldCt = mysql_num_fields($query);
for($i = 0; $i < mysql_num_fields($query); $i++){
    $field[$i] = mysql_field_table($query,$i).'.'.mysql_field_name($query,$i);
}
for($i = 0; $i < mysql_num_rows($query); $i++){
 foreach($field as $key=>$name){
   $row[$i][$name] = mysql_result($query,$i,$key);
 }
}

我没有测试它或任何东西,但是应该将这样的查询映射到数组$row,每个条目都是由tbl_name.field_name => value条目组成的数组。