سؤال

وكيف يمكن أن نكتب عبارة SQL التحديث الذي سوف تقوم بتحديث السجلات و"مجموعة" قيمة يتغير في كل مرة؟

وعلى سبيل المثال: اذا كان لدينا سجلات مثل هذا

SomeNumber SomeV CurCode WhatCodeShouldBe
200802754 432 B08 B09
200802754 432 B08 B09
200802754 432 B08 B09
200808388 714 64B C00
200804119 270 64B C00

وأود أن تحديث كل سجل 'SomeNumber "بحيث" CurCode "سيكون نفس" WhatCodeShouldBe'

وشكرا على اي مساعدة!

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

المحلول

update a
set
  3rdColumn = b.2ndColumn
from
  tableA a
  inner join tableB b
  on a.linkToB = b.linkToA

ويستند هذا على تعليقات الجديدة

نصائح أخرى

وUPDATE yourtable SET CurCode = WhatCodeShouldBe

UPDATE tableName SET CurCode = WhatCodeShouldBe 

وعلى افتراض أن يتم تخزين القانون الجديد في عمود آخر، أي WhatCodeShouldBe، في المثال أعلاه، ثم بيان تبدو شيئا مثل:

UPDATE table SET CurCode = WhatCodeShouldBe

وأمازيغ في أسماء الأعمدة الفعلية. هذا يقول أساسا DBMS، "لكل صف، عمود تعيين رمز إلى ما كانت القيمة في هذا العمود الآخر، لكل صف".

ولقد حصلت على هذه البيانات من خلال تشكيل بعض temptables وجمع المعلومات من جداول مختلفة. :( تحديث هذا الجدول المؤقت لن يكون عونا ... ولست بحاجة إلى أن تكون قادرة على تحمل التغيرات على مر إلى الجدول الأصلي. سأحاول أن تعطي أفضل مثال ...

والجدول A: 200802754 432 B08 200802754 432 B08 200802754 432 B08 200808388 714 64B 200804119 270 64B

والجدول B 432 B09 432 B09 432 B09 714 C00

وهكذا أريد أن تكون القرارات العمود 3RD من الجدول ألف نفس العمود الثاني من الجدول B ... الانضمام إلى الجداول على عمود 2. 200804119 270 64B C00

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top