و اما جواب (ظاهرا كسي حوصله حلش رو نداشته!) به هر حال.
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
براي نمايش نام تيم هم كافيه يك جوين به جدول تيمها بزنيم
شايد شما از راههاي ديگه هم حلش كنيد. (اين راه حل قطعي نيست)