با این دستور:
1.select t from s
2.where t<='5'
3تا رکورد میاره
1)2
2)4
3)3
خوب،
حالا میخوام بگم اونایی رو بیار که خاصل جمعشون برابر 5 میشه
که باید رکوردهای 1و2 رو بیاره.
میشه ؟چه جوری؟
خواهش میکنم کمکم کنید باید تحویل بدم تا شنبه
با این دستور:
1.select t from s
2.where t<='5'
3تا رکورد میاره
1)2
2)4
3)3
خوب،
حالا میخوام بگم اونایی رو بیار که خاصل جمعشون برابر 5 میشه
که باید رکوردهای 1و2 رو بیاره.
میشه ؟چه جوری؟
خواهش میکنم کمکم کنید باید تحویل بدم تا شنبه
آخرین ویرایش به وسیله etbani : جمعه 05 اسفند 1390 در 17:58 عصر
شاید این کارتون رو راه بندازه
SELECT P.*,Q.* FROM (SELECT t FROM s WHERE t<=5)P INNER JOIN (SELECT t FROM S WHERE t<=5)Q ON P.t+Q.t=5
نه جواب نمیده
درود
Select adad (Select Sum(adad) from asli Where id <= ss.id) As Mande
From asli ss
این دستور خیلی ساده هست
و باید همون table رو دوجا بگذاری
و در آخر mande را مساوی 5 قرار بده
بدرود
سلام.
ممنون میشه طبق فیلدی که من گذاشتم (t) بگین یا بیشتر توضیح بدین
t می شه adad
asli می شه table شما
مرسی یعنی :
Select t (Select Sum(t) from salon Where id <= ss.id) As 5
From salon ss
ولی این خطا رو میده
Msg 156, Level 15, State 1, Line 2
Incorrect syntax near the keyword 'Select'.
Msg 102, Level 15, State 1, Line 2
Incorrect syntax near ')'.
id تیبل داری؟
as 5 رو تبدیل کن به as mande
error نداد بگو تا بریم سراغ مرحله بعدی
ببینین دستور اول اینهselect id,tgroup from salon
where tgroup<='5'
خروجی:
id tgoup
2 1
4 2
3 3
حالا این دستور:Select tgroup (Select Sum(tgroup) from salon Where id <= ss.id) As mande
From salon ss
بازم خطا میده
type فیلد tgroup رو چی گذاشتی؟
nvarchar(50)
به نظر تو وقتی typpe رشته باشه چی رو باید جمع بزنه ؟
بگذاز int or bigint
اگر داده داخل تیبل باشه احتمالا error می ده
جدولتو اول خالی کن بعد type رو تغییر بده
در مورد type هم یه مقدار اطلاعات جمع آوری کن تا بهتر تصمیم گیری کنی
مرسی همه ی این کارارو کردم ولی بازم خطا میده
این شرط where id<=ss.id واسه چیه؟
قبلی ها رو ست کنه
id از جنس چیه؟
نوع id:int
هستidentity
error را بگذار
این error سلکت داخلی:
Msg 4104, Level 16, State 1, Line 1
The multi-part identifier "ss.id" could not be bound.
و کل دستور:
Msg 156, Level 15, State 1, Line 8
Incorrect syntax near the keyword 'Select'.
Msg 102, Level 15, State 1, Line 8
Incorrect syntax near ')'.
ممنون از دوست خوبم
ولی با ای دستور
Select Tgroup,(Select Sum(Tgroup) from salon Where id <= ss.id ) As Mande
From salon ss where tgroup<='5'
اونی رکوردی که 4 هست رو هم میاره من میخوام فقط رکوردایی که جمعشون 5 میشه رو بیاره
کسی میتونه کمکم کنه؟
اين دستور به طوري است كه فيلد id نداشته باشيدو فقط فيلد t وجود دارد
Select distinct t
from
(select t1.t,(t1.t+t2.t) as a
from table1 t1 cross join table1 t2)g
where a=5
ممنون ولی میشه بیشتر توضیح بدین من فقط یه جدول دارم
در اين دستور هم يك جدول هست اما join جدول با خود جدول هست. cross join حالت ضرب داره
مرسی گلم درست شد یه دنیا ممنون
همیشه شاد باشی
ولی من id رو هم میخوام این چه جوری میشه
خواهش مي كنم. ميشه بگي جدولت چه فيلدهايي داره ؟
id,tgroup as t,salon
Select distinct tgroup,id,salon
from
(select t1.salon,t1.id,t1.tgroup,(t1.tgroup+t2.tgroup) as a
from table1 t1 cross join table1 t2)g
where a=5
مرسی گلم کارت عالیه
یه سوال چرا وقتی من جای 5 ،6 میزارم
tgroup رو 2و4و3 میاره
بازم خیلی ممنوننم
چون در اين دستور خود 3 هم با 3 جمع ميشه
شرمنده یه سوال دیگه:
چرا 2 ویا 3 رو که میزنم هیچ رکوردی نمیاره ئر صورتی که من یه رکورد که tgroup اون 2 ویک رکورد که tgroup اون 3 باشه تو جدولم دارم
خوب شما سوالتون اين بود كه حاصلجمع برابر با يك عدد باشه نه اينكه خود عدد با مثلا عدد 2 برابر باشه
حالا اگه بخوایم با خود عددم برابر باشه و شرط قبل هم برقرار باشه چه جوری میشه؟
قول میدم اینقده sql یاد بگیرlم تا مثل دوست خوبم nedata مشکل دوستانو رفع کنم
Select distinct tgroup,id,salon
from
(select t1.salon,t1.id,t1.tgroup,(t1.tgroup+t2.tgroup) as a
from table1 t1 cross join table1 t2)g
where a=2 or tgroup=2
مرسی خیلی ممنون انشاالله یه روزی منم مثل شما بشم
خواهش مي كنم انشاالله شما حرفه اي بشيد