我有多个表使用itemID相互关联(外键)。例如,我的主表具有程序的字符串名称(即Microsoft,Oracle等)。
MainTable
ID | ProgNAME | ProID |
------------------------
11 | Microsoft | |
12 | Oracle | |
13 | Microsoft | |
14 | Microsoft | |
15 | Oracle | |
ProgramTable
ProgramID | ProgramName|
------------------------
1 | Microsoft |
2 | Oracle |
我想查询我的ProgramTable以获取链接到sting的关联值(标识),然后将我的MainTable与相关值(标识)一起插入或更新到ProID字段中。所以我的最终结果如下:
MainTable
ID | ProgNAME | ProID |
---------------------------
11 | Microsoft | 1 |
12 | Oracle | 2 |
13 | Microsoft | 1 |
14 | Microsoft | 1 |
15 | Oracle | 2 |
答案 0 :(得分:0)
UPDATE MainTable
SET ProID = P.ProgramID
FROM ProgramTable AS P
WHERE MainTable.ProgNAME = P.ProgramName;
答案 1 :(得分:0)
UPDATE M
SET M.ProID = P.ProgramID
FROM MainTable M INNER JOIN ProgramTable P
ON M.ProgramName = P.ProgramName
或者,如果它只有两个值,你可以做一些像......
UPDATE MainTable
SET ProID = CASE WHEN ProgramName = 'Microsoft' THEN 1
WHEN ProgramName = 'Oracle' THEN 2
END