-
احتیاج به یک فرمان sql
با سلام خدمت دوستان دلفی کار:
عرض به حضورتون یک فرمان sql میخوام که رکورد های که فیلد تاریخشون 2روز یا کمتر از 2 روزمانده باشه رو از بانکم select کنه(مثلا اگه امروز 16/12/1385 است فیلد های 18/12/1385 select بشن ) در ضمن میخوام که یک متغیر boolean رو نیز چک کنه یعنی اگه فیلد تاریخ 2روز یا کمتر از 2 روز مانده و مقدار boolean ام true است برام از بانک select کنه (تارخ شمسی است,ado, بانک access)
-
فرمان sql دو
سلام:
یک فرمان sql دیگه که احتیاج دارم اینه:
در یک بازه زمانی مشخص رکورد هایی که در یک خصوصیت مقدار مشترک دارند(تکراری) رافیلد مشخصی رو به هم جمع کنه و در یک متغیر نگه داره .مثلا مشتری ایکه یک کد اشترک مشخص داره رو در یک بازه زمانی مشخص مقدار فیلد خرید شو جمع کنه ونتیجه نهای رو برای هر مشترک مشخص کنه.
-
سلام
اولی: یه دستور Update هیتش یه خورده بانک اطلاعاتی
خودتو بیشتر معرفی کن (فیلد و جدول) تا بهتر بتونیم کمکت کنیم
دومی: با پارانتر sum میشه بدست آورد و احتمالا Join در مورد این
هم یه خورده بانک اطلاعاتی
خودتو بیشتر معرفی کن (فیلد و جدول) تا بهتر بتونیم کمکت کنیم
-
من یک table دارم که اسمش sefaresh وفیلدهایکه برای این دستورات (مظورم فرمان sql دو) احتیاج اینهاست:
prickol,date,cod,lastname می خوام که خرید کل مشترکامو دریک بازه زمانی مشخص نشون بده و بیشترین کسی که در این بازه خرید کرده مشخص شه توی table یک صفت کلیدی کههر مشترک انو داره هست به نام cod و در هر بار خرید نتیجه کل تو prickol ریخته میشه و فامیلی مشترکام تو lasname هست و یک فیلد هم به نام date که تاریخ خرید داخلش ذخیره میشه فیلد cod از نوع number بقیه فیلدها string البته فیلدهای دیگه هم توی table ام هست که نیازی به هشو نیست.
-
با سلام:
آقایون مشکل فرمان sql دومی حل شد کدشو براتون میذارم اما فرمان اولی رو اگه کس داره رو بذاره سوالشو مجدد تکرار می کنم(رکورد های که فیلد تاریخشون 2روز یا کمتر از 2 روزمانده باشه رو از بانکم select کنه(مثلا اگه امروز 16/12/1385 است فیلد های 18/12/1385 select بشن ) در ضمن میخوام که یک متغیر boolean رو نیز چک کنه یعنی اگه فیلد تاریخ 2روز یا کمتر از 2 روز مانده و مقدار boolean ام true است برام از بانک select کنه (تارخ شمسی است,ado, بانک access))
اما فرمان دومی یعنی در یک بازه زمانی خرید کل مشترکین رو نشون بده:
کد:
adodataset1.CommandText:='select sefaresh.cod,sefaresh.lastname,sefaresh.date,sum(sefaresh.prickol)as ÎÑíÏ from sefaresh where date>='+QuotedStr(maskEdit1.Text)
+' and date<='+QuotedStr(maskedit2.Text)+'group by sefaresh.cod,sefaresh.lastname,sefaresh.date';
-
سلام:
کسی میدونه چرا به دستور زیر خطای syntax error میده:
کد:
adodataset1.CommandText:='select sefaresh.cod,sefaresh.lastname,sum(sefaresh.prickol) from sefaresh where date>='+QuotedStr(maskEdit1.Text)
+' and date<='+QuotedStr(maskedit2.Text)+'group by sefaresh.cod,sefaresh.lastname'+'order by prickol desc';
-
سلام
اسم فیلد رو فارسی انتخاب نکنید.
به مشکل می خورید اساسی.
سوال دومت
فرض ها
یه جدول داریم تو Access
دوتا فیلد
1-Date از نوع text
2- Boolean از نوع Yes/No
حالا دستور sql
کد:
ADOQuery1.SQL.Text:='SELECT * FROM Table1 WHERE ((Table1.Date Between '+QuotedStr(DateToStr(Now()))+' And '+QuotedStr(DateToStr(Now()+2))+') AND Table1.Boolean=True)';
اگه از نوع Datetime می گیری با عبارت QuotedStr رو بردار
درست میشه و بجاش علامت # رو بذار
برای تاریخ شمسی هم درست کار میکنه فقط کافی تاریخ رو
با یه تابع به شمسی تبدیل کنی
(تابعش توی همین قسمت پیدا میشه)
اگه با SQL Server هم می نویسی فرق چندانی نم کنه
امبدوارم تونسته باشم کمکت کرده باشم
اگه جای سوالی بود و بلد بودم در خدمتم
-
سلام
این طوری تصحیح کن
sum(sefaresh.prickol) => sum(sefaresh.prickol) as Name