我有一个Previous Question关于根据 2 个表匹配中的字段将值设置为 yes 或 no。我试图让查询检查generalsource.firstinventor,如果它匹配inventor.inventorfull,则插入"is",否则插入“否” 结果是以下代码:
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
最佳答案
CONCAT 字符串为
CONCAT( i.InventorFirst, ' ', i.InventorLast )
更新:另外,您的更新语句似乎存在语法问题,应该如下所示
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
关于mysql - 根据 2 个匹配字段返回是或否值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15767842/