MySQL用查询匹配的concat更改id

时间:2016-11-02 00:07:44

标签: php mysql

所以我有三张桌子。我希望第一个表根据匹配的ID匹配第三个表。之后,我想要将第三个表格的ID替换为第二个表格的ID(前面带有' g' d),这是通过{{ {1}}查询第一个和第二个表。

这是我对它应该怎么做的粗略想法,只是不太确定如何匹配,然后使用tbl2' id:

select

这可能仅在MySQL中使用,还是我必须使用多个查询在php中执行此操作?

1 个答案:

答案 0 :(得分:0)

所以我找到了一个MySQL小提琴网站。不错,但不允许UPDATE。无论如何,至少你可以看到SELECT正在工作:

http://sqlfiddle.com/#!9/bfdb66/7

这是SQL:

UPDATE tbl3 t3
LEFT JOIN tbl1 t1 ON t3.id=t1.id 
LEFT JOIN tbl2 t2 ON t2.id=t1.id
SET t3.col=CONCAT('g',t2.id) WHERE
t3.blah = 'blah' AND t2.id IS NOT NULL;

根据这个规范:

  • 我希望第一个表根据匹配的ID
  • 匹配第三个表
  • 我希望第三个表的id被第二个表的id
  • 替换
  • 通过第一个和第二个表格上的选择查询识别

让我知道我是否误解了!