2012-08-24 3 views
1

정보가 중복되지 않도록 Table1을 Table2에 추가해야합니다.MySQL이 관련없는 테이블을 추가합니다

예 :

Name | Age 
-------|----- 
Jason | 30 
John | 40 
Joseph | 50 
Bob | 60 

표 2

Type 
-------- 
Dog 
Cat 
Fish 

나는이

Name | Age | Type 
------|-----|------- 
Jason | 30 | Dog 
John | 40 | Cat 
Joseph| 50 | Fish 
Bob | 60 | NULL 

그래서 그것은 단지 12 개 이상의 4 개 개의 행을 반환하지 생산에 가입해야합니다 . 두 테이블과 관련된 ID 또는 기타 정보는 없습니다.

+1

데이터가 어떤 식 으로든 관련이 없다면, 그 값을 단일 레코드 세트로 표시 할 때 값이 표시되는지 확신 할 수 없습니다. –

답변

2

이 시도 이런 식으로 :

SELECT A.rank, A.NAME, A.AGE, B.TYPE FROM 
(select @rownum:[email protected]+1 ‘rank’, T1.NAME, T1.AGE from 
TABLE1 T1, (SELECT @rownum:=0) r) A 
LEFT JOIN 
(select @rownum:[email protected]+1 ‘rank’, T2.TYPE from 
TABLE2 T2, (SELECT @rownum:=0) r) B 
ON A.rank = B.rank 

을 그리고이 확인 :

ROW_NUMBER() in MySQL

http://craftycodeblog.com/2010/09/13/rownum-simulation-with-mysql/

http://jimlife.wordpress.com/2008/09/09/displaying-row-number-rownum-in-mysql/
+0

Brilliant! 그 일은 훌륭했습니다. 도움과 링크를 가져 주셔서 감사합니다. – Jason

+0

도움이 되니 기쁩니다! – Nathan

0

가능하다면 인덱스 열을 추가하기 위해 두 테이블을 변경하려고하고 인덱스 컬럼에 가입

ALTER table1 add id INT NOT NULL; 

ALTER table2 add id INT NOT NULL; 

select table1.Name, table1.Age, table2.Type from table1 inner join table2 on table1.id= table2.id 
+0

Table2에는 name 및 age 열이 없으며 유형 만 있습니다. –

+0

지적 해 주셔서 고마워요 .... 내 대답을 삭제하고 있습니다 – Vikram

+0

나는 그에 맞게 내 대답을 편집했습니다 .. – Vikram

관련 문제