Как я должен изменить этот выбор SQL? - PullRequest
0 голосов
/ 05 февраля 2010
SELECT     TOP (5) mydb.Te.TeamGR AS TeamInGR, Te_1.TeamGR, SUBSTRING(mydb.Data.AkrivesSkor, 1, 1) AS GoalsIn, SUBSTRING(mydb.Data.AkrivesSkor, 3, 1) 
                      AS GoalsOut
FROM         mydb.Te INNER JOIN
                      mydb.Data ON mydb.Te.TeamID = mydb.Data.TeamInID INNER JOIN
                      mydb.Diorganoseis ON mydb.Data.DioID = mydb.Diorganoseis.DioID INNER JOIN
                      mydb.Te AS Te_1 ON mydb.Data.TeamOutID = Te_1.TeamID
GROUP BY mydb.Te.TeamGR, mydb.Diorganoseis.DioGR, mydb.Diorganoseis.DioEN, Te_1.TeamGR, mydb.Data.DataID, mydb.Data.Hmerominia, 
                      SUBSTRING(mydb.Data.AkrivesSkor, 1, 1), SUBSTRING(mydb.Data.AkrivesSkor, 3, 1)
HAVING      (mydb.Te.TeamGR = N'ΜΠΙΛΕΦΕΛΝΤ') OR
                      (Te_1.TeamGR = N'ΜΠΙΛΕΦΕΛΝΤ')
ORDER BY mydb.Data.DataID DESC

Приведенный выше вид создает этот вывод.Он показывает последние шесть игр команды ΜΠΙΛΕΦΕΛΝΤ с забитыми мячами.

TeamInGR         TeamGR            GoalsIn   GoalsOut
ΑΟΥΓΚΣΜΠΟΥΡΓΚ    ΜΠΙΛΕΦΕΛΝΤ        3         1
ΜΠΙΛΕΦΕΛΝΤ       ΚΟΜΠΛΕΝΤΖ         4         2
ΧΑΝΣΑ ΡΟΣΤΟΚ     ΜΠΙΛΕΦΕΛΝΤ        1         1
ΟΜΠΕΡΧΑΟΥΖΕΝ     ΜΠΙΛΕΦΕΛΝΤ        0         0
ΜΠΙΛΕΦΕΛΝΤ       ΟΥΝΙΟΝ ΒΕΡΟΛΙΝΟΥ  1         1

Как мне изменить это представление, чтобы получить сумму голов, забитую командой ΜΠΙΛΕΦΕΛΝΤ?

Например, я хотел бы произвести вывод как этот ...

Team       TotalGoals
ΜΠΙΛΕΦΕΛΝΤ     9

1 Ответ

3 голосов
/ 05 февраля 2010
SELECT 
    @YourTeam ,
    SUM(
        CASE
            WHEN dt.TeamInGR=@YourTeam THEN dt.GoalsIn
            WHEN dt.TeamGR=@YourTeam THEN GoalsOut
            ELSE 0
        END
       ) AS Goals
    FROM (

         --YOUR QUERY HERE

         ) dt
...