我必须编写一条语句,将合成生成的值填充到表(customers
)中。还有一个附加的约束,即我只应使用特殊属性填充这些属性(列)(即,对它们进行正式投影,然后对其进行独占操作)。这些属性存储在第二个表attributes
中。
我的初稿包含以下两个声明:
-- Get the attributes (columns) we are interested in only
SELECT attributeID from attributes
WHERE tableID = 'customers'
-- Iterate over each row of customers, filling only those attributes (columns)
-- obtained by the above SELECT statement
UPDATE customers
SET (use the records from above select statement...)
现在我的问题是如何将它们放在一起。我知道有可能在
SET
子句后附加一个WHERE子句,但这会根据需要选择行而不是列。我还阅读了有关PIVOT
的信息,但到目前为止,它仅在一个表中,而不是在两个表中,在这里就是这种情况。我非常感谢任何提示,因为我不知道该怎么做。 最佳答案
不是您要找的吗?
SQL Update Multiple Fields FROM via a SELECT Statement
UPDATE
Table
SET
Table.col1 = other_table.col1,
Table.col2 = other_table.col2
FROM
Table
INNER JOIN
other_table
ON
Table.id = other_table.id
关于sql - 根据表B中的记录更新表A中的记录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5532054/