MySQL:合并两个没有公共id的表
我有一个子ID表和一个父ID表。这些是分开的桌子。我想创建一个组合的子表和父表,将它们连接在一起。这两个表没有公共idMySQL:合并两个没有公共id的表,mysql,sql,join,Mysql,Sql,Join,我有一个子ID表和一个父ID表。这些是分开的桌子。我想创建一个组合的子表和父表,将它们连接在一起。这两个表没有公共id Child Table | childId | | 1 | | 2 | Parent Table | parentId | | 3 | | 4 | Combined Child and Parent Table | childId | parentId | | 1 | 3 | | 2
Child Table
| childId |
| 1 |
| 2 |
Parent Table
| parentId |
| 3 |
| 4 |
Combined Child and Parent Table
| childId | parentId |
| 1 | 3 |
| 2 | 4 |
这两个表保证长度相同。(尽管如果你能让它以任意长度工作,我会很高兴。)对的顺序应该是MySQL显示它的顺序
如何获取生成的表?您可以使用
内部联接来实现这一点,并使用行号为每个表分配一个id
。请参阅下面我的查询:
SELECT childId,parentId FROM
(SELECT
@row_number1:=@row_number1+1 AS RowNumber1,
childId
FROM Child, (SELECT @row_number1:=0)AS x ORDER BY childId) AS A
INNER JOIN
(SELECT
@row_number2:=@row_number2+1 AS RowNumber2,
parentId
FROM Parent, (SELECT @row_number2:=0)AS y ORDER BY parentId) AS B
ON A.RowNumber1=B.RowNumber2
如果你觉得这篇文章有帮助,至少接受它作为一个答案。如果有错误,请通知我,以便我可以检查。谢谢^_^您是什么意思?是否要订购val?我明白了,所以您所做的是创建一个包含行号和子id对的表,以及另一个包含行号和父id对的表。是否需要运行订单?ORDER BY可以改为在行号上运行吗?我从SQL Fiddle中得到一个错误:它说的是:“每个派生表都必须有自己的别名”。如果您对查询结果中的ORDER很挑剔,并且无法在行号上运行ORDER BY,则需要运行ORDER BY,因为这将导致错误