我有表A
============
| id | val |
=====+======
| 1 | abc |
| 1 | def |
| 2 | ghi |
| 2 | jkl |
============
我有表B
============
| id | val2 |
=====+======
| 1 | rty |
| 1 | vbn |
| 2 | uio |
| 2 | zxc |
============
我想像这样显示两个表格..
===================
| id | val | val2 |
=====+=====+=======
| 1 | abc | rty |
| 1 | def | vbn |
| 2 | ghi | uio |
| 2 | jkl | zxc |
===================
我的问题是我有冗余..
最佳答案
是的,您遇到问题是因为您没有正确的加入
key 。您可以通过使用变量来创建变量来完成此操作。像这样的东西适用于您提供的数据:
select min(id), max(aval), max(bval)
from ((select id, val as aval, NULL as bval, @rna := @rna + 1 as seqnum
from tablea a cross join (select @rna := 0)
) union all
(select id, NULL val, @rnb := @rnb + 1 as seqnum
from tableb b cross join (select @rnb := 0)
)
) ab
group by seqnum;
关于mysql - 使用 select sql 将两个表显示为一个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28402200/