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

نام تاپیک: ماکسیمم ، ماکسیمم دو فیلد از دو تیبل متفاوت

  1. #1
    کاربر دائمی
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    دیار کریمان
    پست
    1,008

    Question ماکسیمم ، ماکسیمم دو فیلد از دو تیبل متفاوت

    سلام

    چطور میشه چیزی شبیه به این داشت
    max (max(a.b))

    a= Select max(f1) from t1
    b= Select max(f2) from t2
    Select max(a,b)


    با تشکر

  2. #2

    نقل قول: ماکسیمم ، ماکسیمم دو فیلد از دو تیبل متفاوت


    select max(f) as max
    from
    (
    select max(f1) as f
    from t1
    union all
    select max(f2) as f
    from t2
    ) as d


    یا می توانید با کمک عبارت های مربوط به Modification Data مساله را به راحتی حل کنید:


    Declare @theMax table (f int)

    Insert Into @theMax
    Select max(f1)
    from t1

    Insert Into @theMax
    Select max(f2)
    from t2

    select * from @theMax
    Select Max(f)
    from @theMax
    آخرین ویرایش به وسیله محمد سلیم آبادی : یک شنبه 17 آبان 1388 در 18:33 عصر

  3. #3
    کاربر دائمی
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    دیار کریمان
    پست
    1,008

    نقل قول: ماکسیمم ، ماکسیمم دو فیلد از دو تیبل متفاوت

    سلام

    من از نمونه کد اول شما استفاده کردم
    اما زمانیکه حتی در یکی از رکوردها ، فیلد f1 و یا f2 آن تهی باشد
    با خطا مواجه می شود
    راهی وجود دارد که این خطا را رفع کرد

    با تشکر

  4. #4
    کاربر دائمی آواتار Hamid.Kad
    تاریخ عضویت
    آبان 1385
    محل زندگی
    پُشت هیچستانم...
    پست
    349

    نقل قول: ماکسیمم ، ماکسیمم دو فیلد از دو تیبل متفاوت

    اینم یه روش دیگه
    declare @a int,@b int
    Select @a=max(f1) from t1
    Select @b=max(f2) from t2
    if (@a>@b)
    select @a
    else
    Select @b


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

  5. #5
    کاربر دائمی
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    دیار کریمان
    پست
    1,008

    نقل قول: ماکسیمم ، ماکسیمم دو فیلد از دو تیبل متفاوت

    سلام

    برای حل اون مشکل از تابع IsNull استفاده کنید
    نحوه استفاده از اون رو هم می گید
    با این فرض که برای فیلدهای f1 و f2 از casting (تغییر نوع) هم استفاده شده باشه


    با تشکر

  6. #6
    کاربر دائمی آواتار Hamid.Kad
    تاریخ عضویت
    آبان 1385
    محل زندگی
    پُشت هیچستانم...
    پست
    349

    نقل قول: ماکسیمم ، ماکسیمم دو فیلد از دو تیبل متفاوت

    SELECT MAX(f) FROM (
    SELECT MAX(ISNULL(CAST(f1 AS INT),0)) f FROM t1
    UNION ALL
    SELECT MAX(ISNULL(cast(f2 AS INT),0)) f FROM t2
    ) t

  7. #7

    نقل قول: ماکسیمم ، ماکسیمم دو فیلد از دو تیبل متفاوت

    نقل قول نوشته شده توسط Sal_64 مشاهده تاپیک
    سلام

    من از نمونه کد اول شما استفاده کردم
    اما زمانیکه حتی در یکی از رکوردها ، فیلد f1 و یا f2 آن تهی باشد
    با خطا مواجه می شود
    راهی وجود دارد که این خطا را رفع کرد

    با تشکر
    از این استفاده کنین:

    ;with t1 as (select null as f1),
    t2 as (select 1 as f2)
    select max(f) as max
    from
    (
    select f1 as f
    from t1
    union all
    select f2 as f
    from t2
    ) as d


  8. #8
    کاربر دائمی
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    دیار کریمان
    پست
    1,008

    Question نقل قول: ماکسیمم ، ماکسیمم دو فیلد از دو تیبل متفاوت

    سلام
    تشکر
    داخل sql درسته
    اما اون داخل Access با خطا روبه رو میشه
    فیلد f1 از نوع text
    میشه کد رو ببینید
    select  max(isnull(Clng( f1 ),0) ) as f from t1
    ٌ
    متن خطا
    Wrong number of arguments used with function in quary expression max(isnull(clang(f1),0)


    با تشکر

  9. #9
    کاربر دائمی
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    دیار کریمان
    پست
    1,008

    نقل قول: ماکسیمم ، ماکسیمم دو فیلد از دو تیبل متفاوت

    سلام
    دوستان می تونن راهنمایی کنن؟؟
    با تشکر

برچسب های این تاپیک

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

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