View Full Version : ارتباط بین چندTableدرsqlserver2000
raminsalemi
سه شنبه 28 اسفند 1386, 22:17 عصر
با سلام و خسته نباشید:من در sqlserver2000پنج تاTableساختم که چهار تا از اونها یک فیلد مبلغ داره و درTableاولم یک فیلد id میخوام یک Queryبسازم که وقتی id رو به برنامم می دم مبلغ نهایی رو به من بده در یک Tableاین کارو کردم ولی با پنج تا نه لطفا من رو در این کار راهنمایی کنیدضمنا من با سی شارپ2005 برنامه نویسی میکنم با تشکر فراوان از شما:متفکر:
mohinsoft
چهارشنبه 29 اسفند 1386, 14:48 عصر
بین 5 جدول شما چه رابطه ی منطقی وجود داره ؟
raminsalemi
یک شنبه 04 فروردین 1387, 22:47 عصر
با سلام:منظورم اینه که بین فیلدهای مبلغ جدول عملیات ریاضی مثل جمع و تفریق صورت بگیره:متفکر:
Amir_Safideh
دوشنبه 05 فروردین 1387, 12:34 عصر
توضیحاتت کافی نبود ولی چیزی که من به سختی متوجه شدم اینه که شما یه جدول اصلی داری که این جدول یه فیلد آی دی داره و پنج تا جدول فرعی دارید که اونها هم یه فیلد آی دی دارن که از این جدول اصلی مقدار آی دی رو میگیرین و در ضمن یه فیلد مبلغ دارن که میخواهی مقدار این مبلغ رو بر اساس اون آی دی حساب کنی . خوب در این صورت اگر من درست متوجه شده باشم این کد رو تست کن :
Select (Select Sum(mablegh1) From Table1 Where Table1.ID = TMaster.ID)+
(Select Sum(mablegh2) From Table2 Where Table2.ID = TMaster.ID)+
(Select Sum(mablegh3) From Table3 Where Table3.ID = TMaster.ID)+
(Select Sum(mablegh4) From Table4 Where Table4.ID = TMaster.ID)+
(Select Sum(mablegh5) From Table5 Where Table5.ID = TMaster.ID)
From Master_Table TMaster
Where TMaster.ID = @ID
موفق باشید .
raminsalemi
دوشنبه 05 فروردین 1387, 23:08 عصر
با سلام و تبریک سال نو به شما:من در بانکم شش تا Table دارم به این ترتیب که Table اولم
دارای یک فیلد IDو چهار تا Table دیگه هم دارم که هر کدام از اونها یک فیلد مبلغ دارند ودر نهایت یک Table هم دارم که یک فیلد با نام مبلغ نهایی داره من قصددارم که بین این شش تا Table یک ارتباط برقرار کنم بطوریکه چهارتا Tableمن که دارای فیلد مبلغ هستند بین این فیلد ها عملیات ریاضی مثل جمع و تفریق انجام بشه ونتیجه آن در Table آخرم که فیلد مبلغ نهایی داره ذخیره بشه و کابر باوارد کردن ID هر فرد مبلغ نهایی رو ببینه یعنی مبلغ نهایی بر اساس ID استخراج بشه باتشکر فراوان از شما "ضمنا در صورت امکان کد مربوطه رو هم برام بنویسید":متفکر:
Amir_Safideh
چهارشنبه 07 فروردین 1387, 11:47 صبح
خوب شما برای این کار باید در اون چهار جدول که فیلد مبلغ دارن یه فیلد آی دی هم ایجاد کنی بعد این چهار جدول رو باید با استفاده از لینکهائی که برقرارا میکنید ارتباط بدید به جدول اولتون که میفرمائید فیلد آی دی داره .حالا شما چهار جدول دارید که اطلاعات فیلد آی دی رو از جدول اصلی میخونن .
خوب برای این که مجموع فیلدها هم در جدول نهائی ذخیره بشه میتونید از این کد استفاده کنید :
Declare @ID Int
Insert Into Final_Table(ID_Field,Final_Sum)
Select Master_Table.ID_Field,Sum(Table1.Amount)+Sum(Table 2.Amount)+Sum(Table3.Amount)+Sum(Table4.Amount)
From Master_Table Left Outer Join Table1 On Master_Table.ID_Field = Table1.ID_Field Left Outer Join Table2
On Master_Table.ID_Field = Table2.ID_Field Left Outer Join Table3 On Master_Table.ID_Filed =
Table3.ID_Field Left Outer Join Table4 On Master_Table.ID_Field = Table4.ID_Field
Where Master_Table.ID_Filed = @ID
Group By Master_Table.ID_Field
----------
موفق باشید.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.