簡體   English   中英

根據其他列中的條件求和多個列-SQL Teradata

[英]Sum multiple columns based on criteria from other columns - SQL Teradata

我想從下表中獲取第1列和第2列中每個縣的第3列和第4列的總分:

County1    |    County2     |   Player1_Score   |   Player2_Score
Norfolk    |    Hampshire   |       5           |       7
Suffolk    |    Norfolk     |       10          |       6
Hampshire  |    Suffolk     |       16          |       12
Norfolk    |    Suffolk     |       78          |       50
Hampshire  |    Norfolk     |       4           |       8
Suffolk    |    Hampshire   |       9           |       19

因此,我希望看到的結果如下:

Norfolk     |       97
Suffolk     |       77
Hampshire   |       32

誰能幫忙嗎? 我嘗試執行SELECT/GROUP BY查詢,但對SQL來說還是一個新手,無法獲得所需的結果。

非常感謝

嘗試這個:

SELECT County, SUM(Score) AS TotalScore
FROM (                   
  SELECT County1 AS County, Player1_Score AS Score
  FROM mytable

  UNION ALL

  SELECT County2, Player2_Score
  FROM mytable) AS t
GROUP BY County
ORDER BY TotalScore DESC

在這里演示

SEL CNTRY,SUM(SUM1) FROM
(
SEL COUNTRY1 AS CNTRY, SUM(player_score_1) AS SUM1 FROM VT1
GROUP BY 1
UNION 
SEL COUNTRY2 AS CNTRY, SUM(player_score_2) FROM VT1
GROUP BY 1
) A
GROUP BY 1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM