更新语句 SQL
UPDATE Statement SQL
在下图中,我有一个 table,我对其执行了 INSERT 查询。此 SQL 查询将信息添加为新记录。我想将它们添加到已经存在的记录中(如图所示)。那可能吗?也许有更新声明?任何帮助将不胜感激。
当前 SQL 声明:
INSERT INTO ShouldImportMetricsIDsTable
(FormularyName,ClientName)
SELECT [Formulary Name],
[Client Name]
FROM FN_DataDump_ALL_02012015 as F
WHERE EXISTS (SELECT 1
FROM mytable as M
WHERE F.formularyId = M.formularyId)
像这样应该可以解决问题:
UPDATE ShouldImportMetricsIDsTable AS Imp
INNER JOIN FN_DataDump_ALL-02012015 AS F
ON Imp.FormularyId = F.FormularyId
SET Imp.FormularyName = F.FormularyName,
Imp.ClientName = F.ClientName
WHERE Imp.FormularyId = F.FormularyId
我觉得不需要加入 myTable
,但如果您需要在 SET
之前添加:
INNER JOIN myTable AS M
ON F.formularyId = M.formularyId
如果这样做,您可能需要使用 Access SQL 中的一些不稳定的括号,如下所示:
UPDATE ((ShouldImportMetricsIDsTable AS Imp
INNER JOIN FN_DataDump_ALL-02012015 AS F
ON Imp.FormularyId = F.FormularyId)
INNER JOIN myTable AS M
ON F.formularyId = M.formularyId)
SET Imp.FormularyName = F.FormularyName,
Imp.ClientName = F.ClientName
WHERE Imp.FormularyId = F.FormularyId
在下图中,我有一个 table,我对其执行了 INSERT 查询。此 SQL 查询将信息添加为新记录。我想将它们添加到已经存在的记录中(如图所示)。那可能吗?也许有更新声明?任何帮助将不胜感激。
当前 SQL 声明:
INSERT INTO ShouldImportMetricsIDsTable
(FormularyName,ClientName)
SELECT [Formulary Name],
[Client Name]
FROM FN_DataDump_ALL_02012015 as F
WHERE EXISTS (SELECT 1
FROM mytable as M
WHERE F.formularyId = M.formularyId)
像这样应该可以解决问题:
UPDATE ShouldImportMetricsIDsTable AS Imp
INNER JOIN FN_DataDump_ALL-02012015 AS F
ON Imp.FormularyId = F.FormularyId
SET Imp.FormularyName = F.FormularyName,
Imp.ClientName = F.ClientName
WHERE Imp.FormularyId = F.FormularyId
我觉得不需要加入 myTable
,但如果您需要在 SET
之前添加:
INNER JOIN myTable AS M
ON F.formularyId = M.formularyId
如果这样做,您可能需要使用 Access SQL 中的一些不稳定的括号,如下所示:
UPDATE ((ShouldImportMetricsIDsTable AS Imp
INNER JOIN FN_DataDump_ALL-02012015 AS F
ON Imp.FormularyId = F.FormularyId)
INNER JOIN myTable AS M
ON F.formularyId = M.formularyId)
SET Imp.FormularyName = F.FormularyName,
Imp.ClientName = F.ClientName
WHERE Imp.FormularyId = F.FormularyId