PDA

View Full Version : سوال در مورد SQL



baabi
شنبه 29 آذر 1382, 01:18 صبح
سلام
من میخوام توی sql روی فیلد های محاسباتی مثل
sum(m) as SM یک گزینه فیلتر توی قسمت where داشته باشم. آیا اینکار ممکن هست؟

phantasm
شنبه 29 آذر 1382, 20:58 عصر
سلام
شما میتونی با params ها کار کنی به این صورت که اول یه پارامتر از نوع مورد نیاز(مثلا integer) تعریف میکنی
بعد مقدار فیلد SM رو در اون قرار میدی و در نهایت توی فیلتر sql مقدار پارامتر رو چک میکنی.فقط باید این نکته روبگم که اگه اسم پارامترتت a انتخاب کنی توی کد نویسی SQL باید بصورت a: بهش رجوع کنی و توی کد دلفی هم به صورت:

query1.ParamByName('a').Value:=11;به همین راحتی :wink:

موفق باشی.

baabi
شنبه 29 آذر 1382, 21:41 عصر
خیلی ممنون بابت جواب...

مقدار فیلد SM رو در اون قرار میدی
چه طوری؟ :roll:

بذارین صورت مساله رو براتون بخونم:
از یه جدول که مربوط به سپرده ها میشه میخوام افرادی رو انتخاب کنم که مجموع سپرده شون از یه مقدار معینی بیشتر باشه:

Select name , sum(m) as SM
Where SM>1000000 ( for example )
Group by name

اما ایرادی که بهش برخورد میکنم مربوط به این میشه کهDelphi
فقط فیلدهای حقیقی روی دیسک رو توی Where
قبول میکنه و نه محاسباتی ها رو

baabi
سه شنبه 02 دی 1382, 08:51 صبح
فقط میخواستم بگم که من هنوز مشکلو دارم.

SyntaxCheck
سه شنبه 02 دی 1382, 09:40 صبح
از Having بجای where استفاده کنید


...group by name having(sm>10)

phantasm
سه شنبه 02 دی 1382, 12:22 عصر
شرمنده :oops:
آقای SyntaxCheck کاملا درست میگن.
http://www.barnamenevis.org/forum/viewtopic.php?t=5285