이것은 하나의 방법 ... 내가 그래서이 작동하지 않습니다 MSACCESS
에
을 선택 인라인에서 작동하지 않는 경우를 잊고 계속
입니다 :
SELECT [Home team],
sum(CASE WHEN result='win' THEN 1 else 0 END) as Win,
sum(CASE WHEN result='loss' THEN 1 else 0 END) as Loss,
sum(CASE WHEN result='tie' THEN 1 else 0 END) as Tie
FROM GAMES
GROUP BY [Home team]
을하지만이 일 :
SELECT [Home team]
sum(iif(result='win', 1,0)) as Win,
sum(iif(result='loss', 1,0)) as Loss,
sum(iif(result='tie', 1,0)) as Tie,
FROM GAMES
GROUP BY [Home team]
기본적으로 홈 팀으로 그룹화 된 테이블의 각 결과를 평가하고 값을 설정합니다. 결과가 승리, 손실 또는 동점이면 1로 설정하고 그렇지 않으면 0으로 설정합니다. 그러면 주어진 홈 팀의 모든 결과를 합산합니다. 각 결과가 이기기 손실 또는 동점이기 때문에, 1은 승리, 손실 또는 동점 그러나 3의 한 안에 만 나타날 것이다; 그리고 아마도 결과가 승리 손실이나 동점 이외의 것이라면 아무 것도 할 수 없습니다. 아래에 크로스 탭 쿼리 문을 사용합니다.
그래서 데이터는
Team1 win loss tie
a 4 2 1
b 2 2 3
액세스가 좋은 기능이 크로스 탭 쿼리를 호출 한 ... 합
Team1 win loss tie
a 1 0 0
a 1 0 0
a 1 0 0
a 1 0 0
a 0 1 0
a 0 1 0
a 0 0 1
b 1 0 0
b 1 0 0
b 0 1 0
b 0 1 0
b 0 0 1
b 0 0 1
b 0 0 1
다음 합계가 당신에게주는 일어날 전에 ... 같을 것이다 . 쿼리 유형을 this로 변경하고 함께 플레이하십시오. 많은 대용량 데이터베이스에서 액세스하지 못하는 좋은 기능입니다! IT는 (시간이/손실 넥타이 주어진 팀에 게재 우승 횟수) 그것에 의해 집계 후 (귀하의 경우 결과) 행의 값에 따라 열을 생성 할 수 있습니다
예 : https://support.office.com/en-us/article/Make-summary-data-easier-to-read-by-using-a-crosstab-query-8465b89c-2ff2-4cc8-ba60-2cd8484667e8
사용 방법 : http://office.microsoft.com/en-us/access-help/create-a-select-or-crosstab-query-mdb-HP005187965.aspx
답장을 보내 주셔서 감사합니다. BTW, "THEN", "else"및 "END"는 무엇을할까요? –
Access에서는 대소 문자가 아닌 iif가 필요합니다. 'sum (iif (result = 'win', 1, 0))을 Win으로 쓰십시오.'(누락 쉼표도) –
정말 잘 작동합니다. –