是否可以根据条件更新值?
实施例: 分贝酮
ID Code Brand PN Model
1 X62 Puma x1234
2 X62 Puma x2345
3 X63 Puma x3456
4 X63 Nike x4567
5 X62 Nike x5678
6 X62 Nike x6789
7 X63 Nike x7890
8 X63 Puma x8901
9 X62 Nike x9012
10 X62 Puma x1234
11 X62 Puma x2345
12 X63 Puma x3456
13 X63 Nike x4567
14 X62 Nike x5678
15 X62 Nike x6789
16 X63 Nike x7890
17 X63 Puma x8901
18 X62 Nike x9012
我有一个List:db-update
PN Model
x1234 9012
x2345 8901
x3456 7890
x4567 6789
x5678 5678
x6789 4567
x7890 3456
x8901 2345
x9012 1234
在这个例子中,我想导入第二个列表,这样它就会写出相应的"模型"到" PN"如果它存在 这是它最终应该看起来的样子: 分贝酮
ID Code Brand PN Model
1 X62 Puma x1234 9012
2 X62 Puma x2345 8901
3 X63 Puma x3456 7890
4 X63 Nike x4567 6789
5 X62 Nike x5678 5678
6 X62 Nike x6789 4567
7 X63 Nike x7890 3456
8 X63 Puma x8901 2345
9 X62 Nike x9012 1234
10 X62 Puma x1234 9012
11 X62 Puma x2345 8901
12 X63 Puma x3456 7890
13 X63 Nike x4567 6789
14 X62 Nike x5678 5678
15 X62 Nike x6789 4567
16 X63 Nike x7890 3456
17 X63 Puma x8901 2345
18 X62 Nike x9012 1234
答案 0 :(得分:0)
如果List是一个表,您可以使用JOIN进行更新:
UPDATE
yourtable t JOIN list l
ON t.PN = l.PN
SET
t.model = l.model
如果list不是表,您可以执行多个查询:
UPDATE yourtable SET model='1234' WHERE PN='x9012'
...
或者您可以使用它:
UPDATE
yourtable t JOIN (
SELECT 'x1234' PN, '9012' Model UNION ALL
SELECT 'x2345' PN, '8901' Model UNION ALL
..etc...
) l
ON t.PN = l.PN
SET
t.model = l.model