1

情報が重複しないように、Table1をTable2に追加する必要があります。

例:

表1

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行のみが返されます。2つのテーブルを関連付けることができるIDまたはその他の情報はありません。

4

2 に答える 2

2

これを試して:

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

そして、これらを確認してください:

MySQL の ROW_NUMBER()

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

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

于 2012-08-24T21:16:46.027 に答える
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
于 2012-08-24T21:15:51.367 に答える