怎么合并两个记录集

东方红 2004-04-03 10:30:37
怎么合并两个记录集,比如:
1.有表1:table_1, 字段:id,name
数据:
id name
1 111
2 222
2.有表2:table_2, 字段:id,name
数据:
id name
1 333
2 444
//////////////////////////
现在执行mysql_query($sql)得到两个记录集:$row_1,$row_2
那么怎么合并这两个记录集呢,使变得
id name
1 111
2 222
1 333
2 444
////////////////////////
不要这样的结果:
a.id a.name b.id b.name
1 111 1 333
2 222 2 444



...全文
30 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
gucs 2004-04-03
学习
回复
chinaworker 2004-04-03
array_merge
(PHP 4 )

array_merge -- 合并两个或多个数组
说明
array array_merge ( array array1, array array2 [, array ...])


array_merge() 将两个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。

如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。

例子 1. array_merge() 例子

<?php
$array1 = array ("color" => "red", 2, 4);
$array2 = array ("a", "b", "color" => "green", "shape" => "trapezoid", 4);
$result = array_merge ($array1, $array2);
print_r($result);
?>

$result 成为:

Array
(
[color] => green
[0] => 2
[1] => 4
[2] => a
[3] => b
[shape] => trapezoid
[4] => 4
)



例子 2. 简单的 array_merge() 例子

<?php
$array1 = array();
$array2 = array(1 => "data");
$result = array_merge($array1, $array2);
?>

别忘了数字键名将会被重新编号!

Array
(
[0] => data
)

如果你想完全保留原有数组并只想新的数组附加到后面,用 + 运算符:

<?php
$array1 = array();
$array2 = array(1 => "data");
$result = $array1 + $array2;
?>

数字键名将被保留从而原来的关联保持不变。

Array
(
[1] => data
)


回复
xuzuning 2004-04-03
目前mysql尚不支持union子句,所以原本的
select * from test_1
union
select * from test_2

要分做3句写
1、create temporary table tmp_name select * from test_1
2、insert into tmp_name select * from test_2
3、select * from tmp_name


回复
feixuehenshui 2004-04-03
left join
回复
dout 2004-04-03
学习
回复
发动态
发帖子
基础编程
创建于2007-09-28

2.1w+

社区成员

从PHP安装配置,PHP入门,PHP基础到PHP应用
申请成为版主
社区公告
暂无公告