无论有什么关系,都要结合2个Mysql表

时间:2015-02-11 06:18:15

标签: mysql

我有两张桌子。例如表a和表b。它们之间没有任何关系,但我需要用一个查询来提供所有数据。联盟不能这样做,因为它不适用于不同的号码。由于没有'on'条件,因此无法通过连接完成行。那我该怎么做呢?


Table a
id     title 
x       b
c       d
s       z

Table b
id     title 
q       u
m       h 

我需要这样的东西:

a.id    a.title    b.id    b.title
x        b           q       u
c        d           m       h   
s        z           null    null

1 个答案:

答案 0 :(得分:1)

您可以使用INNER JOIN执行此操作,并使用ROW_NUMBER为每个表分配ID。请参阅下面的查询:

SELECT A.id,A.title,B.id as id2, B.title as title2 FROM(
SELECT
     @row_number1:=@row_number1+1 AS RowNumber1,
     id,
     title
FROM TableA, (SELECT @row_number1:=0)AS x ORDER BY title) AS A
INNER JOIN
(SELECT
     @row_number2:=@row_number2+1 AS RowNumber2,
     id,
     title
FROM TableB, (SELECT @row_number2:=0)AS y ORDER BY title) AS B
WHERE RowNumber1=Rownumber2

<强> MY DEMO HERE