gpt4 book ai didi

mysql - 插入表时连接或替换数据时 INNER JOIN 标识符发生变化

转载 作者:行者123 更新时间:2023-11-29 23:01:10 25 4
gpt4 key购买 nike

我正在从链接服务器获取数据,假设我有一个标识符,我将其与我的服务器上的标识符连接起来并获取它的数据。

但问题是来自链接服务器的标识符包含一些额外的字符,并且在加入时无法正确加入。

我可以做这样的事情,当我加入时,我将用空格或 NULL 替换标识的额外字符。

例如。

Table 1
Col1 Col2
23rf name
24rf id

Table 2
Col1 Col2
23 name1
24 id1

SELECT
ta1.*,
ta2.*
FROM Table1 ta1
INNER JOIN Table2 ta2
ON ta1.Col1 = ta2.Col2

所以这将给出NULL

我想要一个查询,该查询可以通过将“rf”替换为“”并连接两个表来生成数据,这样我就无法获得NULL数据集。

第二种方法:我可以将数据从一个表插入到另一个表中,在插入时,我可以将“rf”替换为“”。但是,我不知道如何继续上述方法。

请提出建议。

最佳答案

您可以通过使用 ROW_NUMBER 为每个表分配一个 ID 来实现此目的。所以,我用 now row 作为他们的共同领域。请参阅并尝试下面的查询:

SQL-SERVER中:

SELECT ta1.Col1,ta1.Col2,ta2.Col1,ta2.Col2 FROM
(SELECT
ROW_NUMBER() OVER(ORDER BY Col1) AS Row,*
FROM Table1) AS ta1
INNER JOIN
(SELECT
ROW_NUMBER() OVER(ORDER BY Col1) AS Row,*
FROM Table2) AS ta2
ON ta1.Row=ta2.Row

MYSQL中:

SELECT ta1.Col1,ta1.Col2,ta2.Col1,ta2.Col2 FROM
(SELECT
@row_number1:=@row_number1+1 AS RowNumber1,
Col1,
Col2
FROM Table1, (SELECT @row_number1:=0)AS x ORDER BY Col1) AS ta1
INNER JOIN
(SELECT
@row_number2:=@row_number2+1 AS RowNumber2,
Col1,
Col2
FROM Table2, (SELECT @row_number2:=0)AS y ORDER BY Col1) AS ta2
ON ta1.RowNumber1=ta2.RowNumber2

关于mysql - 插入表时连接或替换数据时 INNER JOIN 标识符发生变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28486338/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com