问题:MySQL SQL:在非标准化表上进行JOIN时更新?
我有两个表,动物表和占位符表。我想在动物桌上做一个更新 ,以便填写适当的空白。动物 表未正确归一化。
是否可以使用纯MySQL SQL语句执行此操作,而不是在程序或脚本中循环使用 ?
例:
==这里是 “之前” ==
animal placeholder
1 | dog 1 | dog | log
1 | snog 2 | cat | mat
1 | _blank_ 3 | bird | word
2 | cat
2 | sat
2 | _blank_
3 | bird
3 | heard
3 | _blank_
==这里是== “后”
animal placeholder
1 | dog 1 | dog | log
1 | snog 2 | cat | mat
1 | log 3 | bird | word
2 | cat
2 | sat
2 | mat
3 | bird
3 | heard
3 | word
问题:
你可以利用吗?构造一条MySQL SQL语句,它将使用UPDATE将 “之前”转换为“之后”?
我假设它将有必要使用JOIN,因为查询需要知道放置占位符的正确位置。
==解==
UPDATE动物 SET名称=( SELECT名词 FROM占位符 WHERE( a.id = ID ) )WHERE a.name为空;
被问到的问题。 – dreftymac 2014-05-14 20:47:42