이것은 내 첫 번째 게시물이므로 게시물에 대해 잘못 처리하면 나를 교정하십시오.다중 선택 합 하위 쿼리를 수행하는 방법
낚시 경기를위한 점수 프로그램을 만들고 있습니다.
- 는
- Fk_AnglerID
- 일
- 을 Pk_CatchID | 열 이름 |
:
tblScores : 은 내가에만 관심있는 열을 나열하는 것입니다 (다음 표를 Fk_FishID
- 점
tblAnglers :
|
- Pk_AnglerID
- Fk_BoatID
- 이름
tblBoats :
| 열 이름 |
- 는
지금 제가하고 싶은 것은 오일입니다 경쟁의 전체 주에 대한 점수 시트를 만드는 것입니다
Select BoatName, " +
"Sum(tblScores.Points) AS [Day 1] " +
"from tblScores INNER JOIN tblAnglers ON tblScores.Fk_AnglerID=tblAnglers.Pk_AnglerID " +
" INNER JOIN tblBoats ON tblAnglers.Fk_BoatID=tblBoats.Pk_BoatID "
+ " where Day=1 GROUP BY BoatName
,하지만 내가하고 싶은 것은 각각의 일에 대한 열 및 총 열이있는 DataGridView에이 데이터를 볼 수 있습니다 :
이
내가 현재 가지고있는 것입니다 게다가. 이 같은뭔가 : 나는 중첩 된 선택을 사용하여 시도했지만 내가 가져올 수 없습니다
|Boat Name|Day 1|Day 2|Day 3|Day 4|Day 5|Total|
|Example1 | 50 | 30 | 65 | 35 | 40 | 220 |
|Example2 | 40 | 50 | 70 | 35 | 30 | 225 |
이 작동하려면. 이 문제를 어떻게 해결할 수 있는지에 대한 제안은 열려 있습니다.
또 다른 생각은 새 테이블을 만들고 거기에 매일 (또는 심지어 보트 테이블에서) 이러한 점수를 유지하는 것이었지만 나는 데이터베이스의 구조가 데이터가 반복 될만큼 좋지 않을 것이라고 생각합니다. . 그러나 나는 틀릴 수 있습니다.
감사합니다.
또한 Visual Studio 2013 (C#) 및 Microsoft SQL Server 2010을 사용하고 있습니다.
안녕하세요 귀하의 제안에 감사드립니다! 그것은 내가 달성하기를 원하는 것에 매우 가깝습니다.하지만 문제는 이것이 보트와 데이의 결과를 나눕니다. 다음과 같은 결과가 나옵니다. BoatName Day1 Day2 : Boat1 Score1 0 그리고 Boat1 0 Score2 새 행. –
내가 원하는 것을 정확히 수행 할 수있는 방법이 없다면,이 결과를 통해 반복하여 C#으로 수정할 수 있습니다. 하지만 가능한 경우 SQL 만 사용하여이 문제를 해결하고 싶습니다. –
나는 당신이하려는 것을 이해하지 못합니다. 이것은 귀하의 질문에있는 테이블과 정확히 같은 데이터를 보여줍니다. 바이올린을 확인하십시오. –