2017-02-24 1 views
1

많은 사람들이 두 테이블에서 데이터를 가져 오기 위해 "결합"을 사용할 수 있다고 생각하지만 많은 사람들이 생각합니다. 2 테이블에서 데이터를 가져 오는 방법

실제로 나에게 질문의 종류는

이 가능 내가 explaning하고이 방법 여기처럼 데이터를 가져 오는 것입니다 : -

내가 가진 두 개의 테이블

전에서 데이터를 끌어 할
+-------------------------------------+    +-------------------------------------+ 
|    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  | 
                +-------------------------------------+ 

두 테이블을하지만 다른 열 왼쪽 또는 오른쪽 조인 같은 가입을 사용하여 거기에 새로운 행에있는 데이터를 끌어 오기 거기에 desc 또는 오름차순으로 정렬 순위 예 그렇다면 도움이됩니다. 여기

내가 사전에

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

감사를 원하는 결과입니다.

+0

mysql union의 작동 방식을 확인하십시오. 그것으로 당신은 다음과 같은 데이터를 얻을 수 있습니다. – xurca

답변

1

시도 사용 union all 및 주문에 의해 주문 및 viddesc :

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 
1

이 시도 :

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

이 두 테이블에서 끌어와 rank에 의한 열 # 5 하강 및 열 # 1 상승

관련 문제