سؤال

لماذا هو أنني اتلقى خطأ في بناء الجملة في عبارة SQL التالية تحت سكليتي؟

خطأ ما يلي:

<اقتباس فقرة>   

خطأ SQL: قرب "SET": خطأ في بناء الجملة

UPDATE nova
       SET Nome = (select Nome from assessores where nova.ID = assessores.ID),
       SET Morada = (select Morada from assessores where nova.ID = assessores.ID),
       SET Email = (select Email from assessores where nova.ID = assessores.ID),
       SET TelfCasa = (select TelfCasa from assessores where nova.ID = assessores.ID),
       SET TelfEmprego = (select TelfEmprego from assessores where nova.ID = assessores.ID),
       SET Telemovel = (select Telemovel from assessores where nova.ID = assessores.ID),
       SET Fax = (select Fax from assessores where nova.ID = assessores.ID)
WHERE EXISTS (select * from assessores where nova.ID = assessores.ID);

إذا وأنا أحاول أن التأهل الكامل لأسماء الحقول SET، يصبح الخطأ:

<اقتباس فقرة>   

خطأ SQL: قرب ".": خطأ في بناء الجملة

هل كانت مفيدة؟

المحلول

وتحتاج فقط SET واحد في البداية. يمكنك أيضا تبسيط الاستعلام من خلال الانضمام إلى الجدولين معا والقضاء على الاستعلامات الفرعية.

UPDATE nova JOIN assessores ON nova.ID = assessores.ID
SET nova.Nome        = assessores.Nome,
    nova.Morada      = assessores.Morada,
    nova.Email       = assessores.Email,
    nova.TelfCasa    = assessores.TelfCasa,
    nova.TelfEmprego = assessores.TelfEmprego,
    nova.Telemovel   = assessores.Telemovel,
    nova.Fax         = assessores.Fax;
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top