الوصول db حلقة لكل سجل في جدول واحد إنشاء مجموعة من السجلات في جدول آخر
-
03-07-2019 - |
سؤال
هل من الممكن إنشاء حلقات متداخلة الاستعلام في الوصول DB من شأنها أن التحديث الثالث الجدول ؟
لدي ماستر (رأس) الجدول:
------------------------
masters
------------------------
num | modality | cost |
------------------------
01 | thing | 23.00 |
02 | thing | 42.00 |
03 | thing | 56.00 |
04 | apple | 11.00 |
05 | apple | 17.00 |
و جدول مؤقت تحتوي على تفاصيل المعلومات التي سوف تحتاج إلى إنشاء ثالث (الفعلية) التفاصيل الجدول الذي سوف مفتاح الخروج من الماجستير الجدول
هنا عينة من درجة الحرارة تفاصيل الجدول.
----------------------------------
temps
----------------------------------
modelnumber | modality | priceEa |
----------------------------------
| 123 | thing | 1.00 |
| 234 | apple | 2.00 |
| 345 | apple | 3.00 |
| 456 | apple | 4.00 |
| 567 | thing | 5.00 |
أساسا أنا بحاجة إلى حلقة من خلال كل سجل في الماجستير الجدول.
الخارجي الحلقة:
لكل سجل في الماجستير الجدول ، والاستيلاء على الطريقة.
الحلقة الداخلية:
ثم لكل سجل في temps الجدول ، حيث طرائق مباراة إنشاء سجل في تفاصيل الجدول (و في هذه العملية ، القيام ببعض العمليات الحسابية على أساس المؤقتين.priceEa و الماجستير.تكلفة).
هذا يجب خلق (الماجستير * temps) عدد السجلات الجديدة في تفاصيل الجدول لكل سجل في الماجستير الجدول.
تفاصيل الجدول ، يجب في نهاية المطاف يبحث مثل
----------------------------------------------------------
details
----------------------------------------------------------
num | modelnumber | modality | priceEa | adjustedCost |
----------------------------------------------------------
| 01 | 123 | thing | 1.00 | (do calc here)
| 01 | 567 | thing | 5.00 | (do calc here)
| 02 | 123 | thing | 1.00 | (do calc here)
| 02 | 567 | thing | 5.00 | (do calc here)
| 03 | 123 | thing | 1.00 | (do calc here)
| 03 | 567 | thing | 5.00 | (do calc here)
| 04 | 234 | apple | 2.00 | (do calc here)
| 04 | 345 | apple | 3.00 | (do calc here)
| 04 | 456 | apple | 4.00 | (do calc here)
| 05 | 234 | apple | 2.00 | (do calc here)
| 05 | 345 | apple | 3.00 | (do calc here)
| 05 | 456 | apple | 4.00 | (do calc here)
...etc
المحلول
SELECT m.num, t.modelnumber, m.modality, t.priceea
into myNewTempTable
from masters m inner join temp t on m.modality = t.modality
order by m.num, t.modelnumber