在指定位置合并2个mysql表

时间:2015-08-17 05:58:26

标签: php mysql

我有2个mysql表,如下所示,

//第一个表(db_event)

id  ||   name  ||  publish

1         a          1
2         b          1
3         c          1
4         d          1
5         e          1
6         f          1

//第二个表(db_ads)

id  ||  images  ||  publish

1        a.jpg        1
2        b.jpg        1

我想将第二个表db_ads合并到指定位置的第一个表db_event,即分别位于第五个位置。

我的所需结果应如下表所示

//结果表

id  ||  name  ||  images  ||  publish

1        a        {null}        1
2        b        {null}        1
3        c        {null}        1
4        d        {null}        1
5        e        {null}        1

1      {null}     a.jpg         1

6        f        {null}        1

2      {null}     b.jpg         1

有没有方法在php或mysql中实现这个结果。我在JSON中不需要这个结果。

如果我使用,

while($event_rows = mysql_fetch_array($event))
{
     $name = $event_rows["name"];
     $image= $event_rows["images"];
}
echo $name;
echo $image;

结果应该出现。

1 个答案:

答案 0 :(得分:1)

我觉得这不是一个好的解决方案,但如果你的结果取决于ID值,你可以使用这样的东西 -

SELECT id, name, NULL AS images, publish FROM db_event WHERE id < 6
UNION
SELECT id, NULL AS name, images, publish FROM db_ads WHERE id = 1
...