2012-10-17 61 views
1

我有一个SELECT staement,我加入了2个单独的表。从查询显示表名

$result = mysql_query('SELECT * FROM (SELECT * FROM gslil0009) as table1 UNION SELECT * FROM (SELECT * FROM gslil0028) as table2' . ' ORDER BY lname'); 

while($row = mysql_fetch_array($result)) { 
    echo $row['fname']; 
} 

我该如何打印出哪个表格的行来自?

回答

2
$result = mysql_query('SELECT *,'tbl1' FROM (SELECT * FROM gslil0009) as table1 
       UNION SELECT *,'tbl2' FROM (SELECT * FROM gslil0028) as table2' 
       . ' ORDER BY lname'); 

while($row = mysql_fetch_array($result)) { 
    echo $row['fname']; 
    echo $row['tbl1']; 
} 
0

我使用了与sel相同的解决方案,只是添加了反斜杠以避免错误并为表名添加了名称。

$result = mysql_query('SELECT *,\'table1\' AS tablename FROM (SELECT * FROM gslil0009) as table1 
       UNION SELECT *,\'table2\' AS tablename FROM (SELECT * FROM gslil0028) as table2' 
       . ' ORDER BY lname'); 

while($row = mysql_fetch_array($result)) { 
    echo $row['fname']; 
    echo $row['tablename']; 
} 

我无法在他的帖子中添加评论。