我有Previous Question根据2个表匹配的字段将值设置为yes或no。我试图让查询检查generalsource.firstinventor,如果它匹配inventor.inventorfull插入“是”或插入“否” 结果如下:
UPDATE i
SET LeadInventor =
CASE
WHEN fi.FirstInventorName IS NULL THEN 'No'
ELSE 'Yes'
END
FROM Inventor i
LEFT JOIN FirstInventor fi
ON i.InventorFirst + ' ' + i.InventorLast = fi.FirstInventorName
这非常有效,直到我尝试进入MySQL并且我无法弄清楚语法是否有错。我该如何解决?
Error Code: 1064. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM Inventor i LEFT JOIN FirstInventor fi ON i.InventorFirst + ' ' + i.' at line 7
答案 0 :(得分:2)
CONCAT字符串为
CONCAT( i.InventorFirst, ' ', i.InventorLast )
UPDATE:此外,您的更新语句中似乎存在语法问题,应该如下所示
UPDATE
Inventor i
LEFT JOIN FirstInventor fi ON CONCAT( i.InventorFirst, ' ', i.InventorLast ) = fi.FirstInventorName
SET LeadInventor =
CASE
WHEN fi.FirstInventorName IS NULL THEN 'No'
ELSE 'Yes'
END
更多信息:http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_concat