تخزين معرفات الموظفين المتعددة في عمود واحد من البيانات

StackOverflow https://stackoverflow.com/questions/756370

  •  09-09-2019
  •  | 
  •  

سؤال

يتم كتابة تطبيق الويب في الكلاسيكية ASP باستخدام MSSQL Backend. في هذه الصفحة بالذات، يمكن للمسؤول تحديد 1 أو أي / جميع الموظفين لتعيين المشروع ل. أحاول معرفة طريقة بسيطة لتخزين معرفات الموظفين للأشخاص المعينين به في عمود واحد.

يتم إنشاء قائمة الموظفين من طاولة أخرى ويمكن أن تكون ديناميكية (إطلاق أو توظيف) لذلك أريد أن يكون البرنامج مرنا بما يكفي للتغيير بناء على تغييرات الجدول هذه.

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

آسف لسؤال N00Bish، ولكن شكرا!

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

المحلول

تحتاج إلى إنشاء جدول آخر يخزن هذه القيم مثل. لذلك سيخزن هذا الجدول الجديد صف واحد لكل معرف، ثم يربط إلى السجل الأصلي مع معرف السجلات الأصلية.

نصائح أخرى

لا تخزن معرف متعدد في عمود واحد! قم بإنشاء جدول آخر مع المفتاح الأساسي لجدولك الحالي ومعرف واحد تريد تخزينه. يمكنك بعد ذلك إدراج صفوف متعددة في الجدول الجديد، مما يؤدي إلى علاقة 1: م (واحد إلى العديد). على سبيل المثال، دعونا نلقي نظرة على جدول الطلب:

order:
    order_id
    order_date

ولدي طاولة منتج ...

product:
    product_id
    product_name

الآن، يمكنك النزول في طريق إضافة عمود إلى أمر يتيح لك سرد المنتجات بالترتيب، ولكن هذا سيكون شكل سيء. ما تريد بدلا من ذلك هو شيء مثل ..

order_item:
    order_item_id
    order_id
    product_id
    quantity
    unit_price

يمكنك بعد ذلك إجراء انضمام للحصول على جميع المنتجات لترتيب معين ...

select
    product.*

from orders 

inner join order_item on order_item.order_id = order.order_id
inner join product on product.product_id = order_item.product_id

where orders.order_id = 5

إليك مثال أمر من 5، وهذا سيحصل على جميع المنتجات بكل هذا الطلب.

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