نمایش نتایج 1 تا 40 از 65

نام تاپیک: معما از نوع SQL Server .

Threaded View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #8

    Wink حل جدول ليگ

    خب دوستان بابت تاخير عذر ميخوام
    و اما جواب (ظاهرا كسي حوصله حلش رو نداشته!) به هر حال.
    view ها اينجا كاربردشون رو نشون ميدن.
    فرض كنيد جدول ما داده هاي زير رو دارن:


    ما اگه يك ديد از جدول بالا به صورت زير داشته باشيم:


    كار كوئري گيري ازون بسيار راحت تر ميشه. ساختار جدول رو كه نميشه تفيير داد. پس مجبوريم يك view بسازيم تا قالب مورد رو به

    ما بده و ازون قالب كوئري نهايي رو بگيريم
    اين view شكل بالا رو به ما ميده

    create view leagueView as
    select
    t1 [teamID],
    g1 [zade],
    g2 [khorde],
    3 [emtiaz],
    1 [bord],
    0 [bakht],
    0 [tasavi]
    from
    league
    where
    g1>g2
    union all
    select
    t1,
    g1,
    g2,
    1,
    0,0,1
    from
    league
    where
    g1=g2
    union all
    select
    t1,
    g1,
    g2,
    0,
    0,1,0
    from
    league
    where
    g1<g2
    ---------
    union all
    select
    t2,
    g2,
    g1,
    3,
    1,0,0
    from
    league
    where
    g2>g1
    union all
    select
    t2,
    g2,
    g1,
    1,
    0,0,1
    from
    league
    where
    g1=g2
    union all
    select
    t2,
    g2,
    g1,
    0,
    0,1,0
    from
    league
    where
    g2<g1

    و اين select خروجي نهايي رو خواهد داد

    select
    teamid,
    sum(bord)[bord],
    sum(bakht)[bakht],
    sum(tasavi)[tasavi],
    sum(zade)[zade],
    sum(khorde)[khorde],
    sum(zade)-sum(khorde)[tafazol],
    sum(emtiaz)[emtiaz]
    from
    leagueView
    group by teamid


    براي نمايش نام تيم هم كافيه يك جوين به جدول تيمها بزنيم
    شايد شما از راههاي ديگه هم حلش كنيد. (اين راه حل قطعي نيست)
    عکس های ضمیمه عکس های ضمیمه

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

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

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