PDA

View Full Version : سوال: کمک در مورد جوین دادن دادن وnull کردن فیلد



oliya24
یک شنبه 28 آذر 1389, 09:43 صبح
سلام دوستان من 3 جدول دارم که نمیدونم کدام رو با کدام جوین بدم تا بتونم این سوال رو حل کنم


نمره دانشجویان گروه اموزشی d111 را در درس com190 در ترم 87-88 برابر null کنید

لطفا اگر میشه کمک کنید من فکر کنم بتونم فیلد مورد نظر رو به دستور update برابر NULL کنم اما در مورد جوین مشکل اساسی دارم

Rezahak
یک شنبه 28 آذر 1389, 10:32 صبح
شما در جدول سومتون یک فیلد گروه آموزشی را جا انداختید به نظرم ...!!!!

Reza_Yarahmadi
یک شنبه 28 آذر 1389, 10:46 صبح
با دستوري مثل دستور زير ميتونيد اين كار رو انجام بديد

Update dbo.tbl3 Set
grad = null
From
tbl t1 inner join tbl2 t2
On
t1.Sgroup# = t2.Cgroup#
inner join tbl3 t3
On
t3.S# = t1.S#
AND
t3.C# = t2.C#
Where
t2.C# = 'com111'
AND
t3.tryr = '87-88'
AND
t1.Sgroup# = 'd111'

Rezahak
یک شنبه 28 آذر 1389, 10:46 صبح
البته این سئوالتون ربطی به join نداره بدون برقراری رابطه هم می شه اون رو حل کرد طبق ساختاری که شما به صورت powerpoin فرستادید جواب به صورت زیر است :

UPDATE tbl3 SET grad = NULL WHERE [C#] = 'com190' AND [S#] IN(SELECT [S#] FROM tbl1 WHERE [Sgroup#] = 'd111') AND [tryr] = '87-88'

mehditoghs
یک شنبه 28 آذر 1389, 10:50 صبح
من هم یه سوال نسبت به این سه جدول دارم که نمیدونم چطور باید سه جدول رو با هم جوین کنم سوال من اینه

نام دروسی را انتخاب کنید که در آنها دانشجویان ورودی سال 86 افتاده داشته باشند ؟
من کد زیر رو نوشتم ولی ورودی 86 رو نمیده ببینید و راهنماییم کنید
select cname from cot join stcot
on stcot.c#=cot.c# where stcot.grade <10

Rezahak
یک شنبه 28 آذر 1389, 11:05 صبح
من هم یه سوال نسبت به این سه جدول دارم که نمیدونم چطور باید سه جدول رو با هم جوین کنم سوال من اینه

نام دروسی را انتخاب کنید که در آنها دانشجویان ورودی سال 86 افتاده داشته باشند ؟

دوست عزیز باید بنویسی:

SELECT * FROM tbl2 WHERE [C#] IN(SELECT [C#] FROM tbl3 WHERE grade<10 AND SUBSTRING([S#],1,2) = '86')

mehditoghs
پنج شنبه 02 دی 1389, 22:11 عصر
دوست عزیز باید بنویسی:

SELECT * FROM tbl2 WHERE [C#] IN(SELECT [C#] FROM tbl3 WHERE grade<10 AND SUBSTRING([S#],1,2) = '86')

ممنون از اینکه کمکم کردید ولی قطعه کدهای بالا با پیغام خطا روبرو شد و در نهایت من کد برنامه رو اینجوری نوشتم


Select cname

From cot inner join

Stcot on cot.c# = stcot.c# inner join

Stt on stcot.s# = stt.s#
Where (stt.vorodi= '86') AND (stcot.grade <10)