نمایش نتایج 1 تا 3 از 3

نام تاپیک: استفاده از یک کوئری داینامیک در داخل کوئری دیگر

  1. #1
    کاربر تازه وارد آواتار ihpled
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    تهران
    پست
    51

    استفاده از یک کوئری داینامیک در داخل کوئری دیگر

    درود

    من یک کوئری دارم که بدلیل استفاده از باکس های جستجو در هنگام اجرا ممکن است به هر حالتی تغییر کد بده و خروجیشو نشون بده

    حالا من میخوام مثلا معدل یکی از ستون هاشو بدست بیارم

    خب یک راهش انداختن حلقه حرکت روی اون و میانگین گرفتن هست که دارم استفاده میکنم؛ ولی برام سوال شده که آیا روشی هست که بشه توسط یک AdoQuery دیگه بیام کد SQLشو جوری بنویسم که از کوئری اول داخلش استفاده بشه؟


    Q2.SQL.Text:='select avg(Q1.Score) as AV


    ؟

  2. #2

    نقل قول: استفاده از یک کوئری داینامیک در داخل کوئری دیگر

    سلام
    با استفاده از همون کوئری می تونید مقادیری رو که می خواهید بیرون بکشید (NextRecordSet) که یکمی برای کاری که لازم دارید، مناسب به نظر نمی رسه
    می تونید کوئری شی اول رو بریزید تو کوئری شی دوم و کمی تغییرش بدید تا به کاری که می خواهید انجام دهید برسید:

    Query1:
    select A, B from TBL

    Query2:
    select sum(A) from
    (
    select A, B from TBL
    ) X
    توابع تبدیل تاریخ با دقت 5000 سال
    پذیرش پروژه، کامپوننت، آموزش برنامه نویسی (دلفی، اس کیو ال، ..) -> 09123780840

    دوستای گلم حمایت کنید : https://cafebazaar.ir/app/com.nikanmehr.marmarxword/


    نرم افزار پخش مویرگی

  3. #3
    کاربر دائمی
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    اصفهان - ایران
    پست
    290

    نقل قول: استفاده از یک کوئری داینامیک در داخل کوئری دیگر

    این مثال را ببینید. احتمالا به دردتون بخوره.
    اول در خود SQL یک متغیر رشته ای تعریف کنید و کوئری خودتون را بسازید. سپس با دستور EXECUTE sp_executesql @statement آن را اجرا کنید.
    DECLARE @birthYear int = 1970
    DECLARE @statement NVARCHAR(4000)

    WHILE @birthYear <= 1971
    BEGIN
    SET @statement = '
    SELECT JobTitle, Count(BusinessEntityID)
    FROM HumanResources.Employee
    WHERE Year(BirthDate) = ' + CAST(@birthYear as NVARCHAR) +
    ' GROUP BY JobTitle'

    EXECUTE sp_executesql @statement
    SET @birthYear = @birthYear + 1
    END


    این هم منبعش:
    https://www.essentialsql.com/build-d...red-procedure/

تاپیک های مشابه

  1. پاسخ: 4
    آخرین پست: یک شنبه 26 مرداد 1399, 00:59 صبح
  2. پاسخ: 2
    آخرین پست: شنبه 21 شهریور 1388, 14:26 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •