简体   繁体   English

Mysql连接内部连接左连接右表上的多个表为空

[英]Mysql Join inner join left join Multiple Tables null on right table

how to display multiple tables in mysql, i want to display some data such as: table1.autono, table1.name, table1.date. 如何在mysql中显示多个表,我想显示一些数据,例如:table1.autono,table1.name,table1.date。 table1 on right table i dont see data thank you for your help 右表中的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

You could always use AS 您可以随时使用AS

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

then iterate the values and sort 然后迭代值并排序

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

or use the mysql_field_table() and mysql_field_name() functions 或使用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);
 }
}

I didn't test it or anything, but that should map a query like that to an array $row with each entry being an array consisting of tbl_name.field_name => value entries. 我没有进行任何测试,但是应该将这样的查询映射到$row数组,每个条目都是一个包含tbl_name.field_name => value条目的数组。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM