从表2到表1的SQL更新,其中
我正在尝试从表2中的数据更新表1,其中ID匹配。。。目前正在尝试下面的SQL脚本,它不适合我!任何帮助都会很好从表2到表1的SQL更新,其中,sql,ms-access,Sql,Ms Access,我正在尝试从表2中的数据更新表1,其中ID匹配。。。目前正在尝试下面的SQL脚本,它不适合我!任何帮助都会很好 UPDATE tbleVendorData SET tbleVendorData.VendorActive = tbleTemporary.F7 FROM tbleTemporary WHERE tbleTemporary.F1 (SELECT VendorNumber FROM tbleVendorData) 当我运行此脚本时,列VendorActive根本没有发生任何
UPDATE tbleVendorData
SET tbleVendorData.VendorActive = tbleTemporary.F7
FROM tbleTemporary
WHERE tbleTemporary.F1 (SELECT VendorNumber FROM tbleVendorData)
当我运行此脚本时,列VendorActive根本没有发生任何变化,我希望它能更新tbleTemporary的所有内容。F7大概,您打算这样做:
UPDATE tbleVendorData INNER JOIN
tbleTemporary
ON tbleTemporary.F1 = tbleVendorData.VendorNumber
SET tbleVendorData.VendorActive = tbleTemporary.F7
由于声明了应编辑的表,因此无需在列名之前再次写入该表,但必须在最后一行指定一些条件。 如果您想更新所有可以从SelectVendorNumber fromTbleVendorData检索的记录,那么您的查询应该是
UPDATE tbleVendorData
SET tbleVendorData.VendorActive = tbleTemporary.F7
FROM tbleTemporary
WHERE tbleTemporary.F1 in (SELECT VendorNumber FROM tbleVendorData)
如果要更新一条记录,则必须在查询结束时设置限制
然而,如果你写这个查询像
UPDATE tbleVendorData
SET tbleVendorData.VendorActive = tbleTemporary.F7
FROM tbleTemporary
WHERE tbleTemporary.F1 = (SELECT VendorNumber FROM tbleVendorData)
然后将不执行查询,因为它将检索多个记录,并且无法与1列进行比较,但如果确实要使用“=”运算符,则查询应如下所示
UPDATE tbleVendorData
SET tbleVendorData.VendorActive = tbleTemporary.F7
FROM tbleTemporary
WHERE tbleTemporary.F1 = (SELECT VendorNumber FROM tbleVendorData limit 1)
在上述情况下,它将更新与供应商编号匹配的第一条记录您是否缺少一个=符号?这很好!如果我想添加多个可以更新的列,该怎么办?理想情况下,我希望至少有8列updated@Maldred . . . 是的,您可以更新任意数量的列。
UPDATE tbleVendorData
SET tbleVendorData.VendorActive = tbleTemporary.F7
FROM tbleTemporary
WHERE tbleTemporary.F1 = (SELECT VendorNumber FROM tbleVendorData limit 1)