2013-04-02 2 views
0

У меня было Previous Question о настройке значения да или нет на основе полей из 2 сопоставлений таблиц. Я пытаюсь получить запрос проверить generalsource.firstinventor и, если он соответствует inventor.inventorfull вставить «Да», либо вставить «Нет» Результат был следующий код:возвращает значение yes или no на основе двух совпадающих полей

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

Ошибки сообщений обычно дают вам подсказку. Что вы сказали? –

+0

какая ошибка вы получаете? –

+0

Код ошибки: 1064. У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с 'FROM Inventor i LEFT JOIN FirstInventor fi ON i.InventorFirst +' '+ i.' в строке 7 –

ответ

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

+0

по-прежнему выдает ошибку в строке из строки –

+0

@JohnnyB Извините, не знаю, как я пропустил остальную часть синтаксиса, попробуйте сейчас, я обновил ответ – Akash

+0

'Код ошибки: 1146. Таблица 'sharppatentdb.firstinventor' не существует. Что-то не так с моими соглашениями об именах, но я не знаю, что. одна таблица является генератором источника. Другая таблица - изобретатель –

Смежные вопросы