我目前有两张桌子,如下图所示。
第一个表称为bottle
:
第二个表称为cases
:
我正在尝试将 case_id = 0 的值插入到瓶表中 case 表中(即 case_id=100、100、103、103 等)。它们是两个单独的表,我试图在不创造NULL
价值的情况下加入它们。
如果我需要使用插入、加入或更新,请告诉我。我会手动执行,但是这些数据点来自 PLC,并且不仅仅是下面看到的所有数据点。
我目前有两张桌子,如下图所示。
第一个表称为bottle
:
第二个表称为cases
:
我正在尝试将 case_id = 0 的值插入到瓶表中 case 表中(即 case_id=100、100、103、103 等)。它们是两个单独的表,我试图在不创造NULL
价值的情况下加入它们。
如果我需要使用插入、加入或更新,请告诉我。我会手动执行,但是这些数据点来自 PLC,并且不仅仅是下面看到的所有数据点。
没有明确的连接列可以用来执行UPDATE
您想要的操作。但是我们可以通过使用特定顺序连接每个表中的行号值来创建一个。在下面的查询中,我使用 排序表中的行号,bottle
使用 排序表中的bottle_id
行号。cases
case_id
UPDATE t1
SET t1.case_id = t2.case_id
FROM
(
SELECT t.*, ROW_NUMBER() OVER (ORDER BY bottle_id) rowId
FROM bottle t
) t1
INNER JOIN
(
SELECT t.*, ROW_NUMBER() OVER (ORDER BY case_id) rowId
cases t
) t2
ON t1.rowId = t2.rowId
这应该给出bottle
如下所示的输出(省略了一些列):
bottle_id case_id
1 100
2 100
3 103
4 103
5 104
6 104
7 105
8 105