mysql 随机拼接多个字段

1、比如说我有三个表,字段都是id和keyword,我想要实现两个效果:
一是将这三个表的keyword随机拼接起来,这个已经实现了:
select t.* from(select concat_ws('_',t1.keyword,t2.keyword,t3.keyword)ws from test1 t1 inner join test2 t2
inner join test3 t3)t order by rand() limit 10
就是取出了这三个表的keyword字段,然后随机拼接起来,通过rand()实现了,也就是

2、关键是第二个效果,就是这三个表的keyword字段也是随机的,就是说可能是数字在中间或后面,比如说:1d_12_sdf,
也就是说这个: concat_ws('_',t1.keyword,t2.keyword,t3.keyword)ws里面的t1、t2、t3的keyword字段也是随机拼接的,不知如何实现,网上没有找到实现的办法

第1个回答  2015-03-09
经过对你问题的分析,有两种方式可以解决。
第一种方式:使用mysql的存储过程,判断哪一个表的字段内容全是数字,放在前面。
第二种方式:使用java或其他动态语言,进行判断并组装。

另一种思路,就是把三个表的数据统一一下。追问

第一种我已经实现了,第二种不知道怎么实现,我现在用的php

追答

php的话,首先php用mysqli库获取pdo连接mysql,然后读取三张表,发现有int字段,默认放在前面,其他两张表的字段放在后面。

亲,帮你解决问题了吗?