ورود

View Full Version : سوال: چگونه می توانم از دستور Where تو در تو استفاده کنم بعلاوه اینکه یکی از فیلدها هم جمع زده شود؟



drahmadtaraffoo
سه شنبه 06 اردیبهشت 1390, 16:22 عصر
بسم الله الرحمن الرحیم
با سلام خدمت دوستان عزیز
من یک جدول دارم که حاوی فیلدهای : نام و نام خانوادگی - تاریخ تولد - نام پدر - مبلغ خرید
می باشد . Kharid FatherName Date FLName
من می خواهم با دستور SQL افرادی با نام ( مثلاً X ) که تاریخ تولدشان از تاریخ ../../.... تا تاریخ ../../.... می باشد
و نام پدرشان (فرضاً Y ) را پیداکنم و در پایان مبالغ خریدشان جمع زده شود و در یک فیلد جداگانه نمایش داده شود.
فکر کنم کمی پیچیده شد یعنی می خواهم از دستور Where تو در تو استفاده کنم
بعلاوه اینکه یکی از فیلدها هم جمع زده شود
البته سعی خودم را کردم ولی برای جمع ردیف کاری نتوانستم بکنم


;Query.Close
;Query.SQL.Clear
Query.SQL.Text := ' SELECT Sandogh.FLName, Sandogh.FatherName, Sandogh.Tarikh, Sandogh.Khrid From Sandogh Wher Tarikh Between
+ (QuoedStr(Edit1.Text
+ 'And'
+ (QuoedStr(Edit2.Text
+ 'And'
+'Sandogh.FatherName like'
+(QuoedStr(Edit3.Text
+ 'And'
.
.
.
.
'ORDER BY Sandogh.Tarikh'
;Query.Open
:قلب:متشکر:قلب:

pezhvakco
سه شنبه 06 اردیبهشت 1390, 17:44 عصر
سلام :

من می خواهم با دستور SQL افرادی با نام ( مثلاً X ) که تاریخ تولدشان از تاریخ ../../.... تا تاریخ ../../.... می باشد
و نام پدرشان (فرضاً Y ) را پیداکنم

در پایان مبالغ خریدشان جمع زده شود و در یک فیلد جداگانه نمایش داده شود
در اصل این دو خواسته ار هم جدا است .
خروجی اولی یک جدول با یه تعداد ستون متناسب با شرط است.
دومی یک تک ستون است . این دو رو نمیشه با یک Select بدست آورد و باید دو بار Selct داشته باشین .
اون جا که گفتین در پایان، اگه منظور شما در پایین جدول نمایشی برنامه تون است که می تونین با کمک ابزار همون جدول جمع ستون رو نمایش بدین (DBGridEh این ابزار رو داره) یا اینکه با یه Select دیگه حاصل ستون روبدست بیارین و دستی نمایش بدین .
SELECT SUM(Kharid)
FROM Table1
WHERE ...

drahmadtaraffoo
سه شنبه 06 اردیبهشت 1390, 21:09 عصر
بسم الله الرحمن الرحیم
با سلام و تشکر
منظور از این که دوبار Select داشته باشم چیست؟ من متوجه نشدم!
این DBGridEh آیا رایگان است؟ و از کجا می توانم آنرا دانلود کنم؟
ممنون:قلب:

pezhvakco
چهارشنبه 07 اردیبهشت 1390, 11:12 صبح
منظور از این که دوبار Select داشته باشم چیست؟
شما رو خواسته جدا از هم دارین : 1 - نمایش داده ها 2- بدست آوردن جمع یک ستون
برای هر کدام باید یک بار کد نویسی انجام بشه .


ین DBGridEh آیا رایگان است؟ و از کجا می توانم آنرا دانلود کنم؟
رایگان نیست .
جستجو کنید و نه در این سایت چون خلاف قوانین است ...

AmirSky
دوشنبه 12 اردیبهشت 1390, 17:47 عصر
من یه جورایی درست متوجه نشدم. ولی چیزی که به ذهنم اومد رو نوشت




SELECT Id,Name,father , SUM(mablagh) as SumMablagh
FROM (
SELECT ID , NAME , Father , Mablagh
FROM Table1
WHERE (NAME = 'X') AND (birthday between '1380' AND '1390') AND( father = 'Y')
) t1
GROUP BY ID , NAME , Father , Mablagh




فکر میکنم باید یه تغییری توی طراحی دیتابیس بدی
دیتابیس رو هم ننوشتی چیه. دیتابیست باید از Sub Query پشتیبانی کنه