我有两张桌子。例如表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
答案 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 强>