如何从堆栈中的2个表中提取数据

时间:2017-02-24 19:39:44

标签: mysql laravel-5

我知道许多人认为我可以使用“加入”从两个表中提取数据,但这不是我想要的。

实际上对我来说这是一个问题,是否有可能以这种方式提取数据 我在这里解释: -

我有两张桌子

function(i,s,o,g,r,a,m)

我想从两个表中提取数据,但不是我使用连接的另一个列,如左或右连接是否有任何方法可以在新行中提取数据,其中我的排序等级为desc或asc顺序,如果是,则帮助我。

这是我想要的结果

+-------------------------------------+             +-------------------------------------+
|              Table 1                |             |               Table 2               |
+-------------------------------------+             +-------------------------------------+
|id |vid| name  | about       | rank  |             |id |vid| title | description | rank  |
+-------------------------------------+             +-------------------------------------+
| 1 | a | dsa   | Lorem ipsu  | 0     |             | 1 | b | aa    | Lorem ipsu  | 0     |
| 2 | a | asda  | adipisicin  | 0     |             | 2 | b | ss    | adipisicin  | 0     |
| 3 | a | da    | tempor inc  | 0     |             | 3 | b | dd    | tempor inc  | 0     |
| 4 | a | sad   | dolore mag  | 2     |             | 4 | b | rr    | dolore mag  | 2     |
| 5 | a | fd    | quis nostr  | 1     |             | 5 | b | ggf   | quis nostr  | 2     |
| 6 | a | rewr  | ullamco la  | 2     |             | 6 | b | ffdd  | ullamco la  | 1     |
| 7 | a | ewrr  | consequat.  | 2     |             | 7 | b | df    | consequat.  | 1     |
| 8 | a | dsa   | reprehende  | 1     |             | 8 | b | ddf   | reprehende  | 1     |
| 9 | a | fffd  | cillum dol  | 1     |             | 9 | b | dfd   | cillum dol  | 1     |
| 10| a | fsd   | Excepteur   | 1     |             | 10| b | df    | Excepteur   | 2     |
+-------------------------------------+             | 11| b | dff   | proident,   | 2     |
                                                    | 12| b | trr   | deserunt m  | 2     |
                                                    +-------------------------------------+

提前致谢。

2 个答案:

答案 0 :(得分:1)

试试这个:

select * from table1
UNION
select * from table2
ORDER BY 5 DESC, 1

这从两个表中拉出,并且第5列的顺序递减,第1列递增

答案 1 :(得分:1)

尝试使用union all并按rankvid desc订购:

SELECT id,vid,name,about,rank
FROM(select id,vid,name,about,rank
from table1
UNION ALL
select id,vid,title as name,description as about,rank
from table2) t
order by rank desc,vid desc