Mysql数据库select结果集的横向和纵向拼接
第一种:纵向拼接
纵向拼接使用 union, union all 全部拼接,不去重。只使用union会过滤重复数据,例如一下测试语句
select name from phpcmsv9.data union all select username from phpcmsv9.v9_admin 效果图如下
第二种:横向拼接
如果想把多列毫无相关的数据横向凭借起来确实有点困难,换种思维:不同表中的数据也许没有任何关系,一般情况下每个表都有自增ID这列吧,那么这就可以了,其实就是一个外链接,硬找出关系来,如果数据没有自增ID,其他字段完全不相同,只能造一个自增列了(这个问题曾困扰了我许久)。测试语句如下:
select phpcmsv9.data.name,phpcmsv9.v9_admin.username from phpcmsv9.data left join phpcmsv9.v9_admin on phpcmsv9.data.id=phpcmsv9.v9_admin.userid