아래와 같은 SQLite 테이블 데이터가 있습니다.
ID Type Amount
-----------------------
1 A 10
1 B 5
2 A 4
2 B 7
3 A 2
3 B 8
내가 datagridview에 제시하고 싶었던 것은 다음과 같습니다.
ID A B
-------------
1 10 5
2 4 7
3 2 8
이것은 SQLite 데이터베이스에 있습니다. datagridview에 데이터를 표시해야합니다. 현재 나는 첫 번째 데이터 세트를 가져오고 원하는 결과를 얻기 위해 반복하는 코드를 사용하고 있지만 테이블에는 많은 결과가 있으므로 프로세스가 매우 느립니다.
두 번째 결과를 직접 얻을 수있는 방법을 알려주세요. 검색이 있지만이 결과를 얻기 위해 적절한 SQL 쿼리를 찾을 수 없습니다.
조건부 집계로 수행 할 수 있습니다.
select ID,
sum(case when Type = 'A' then Amount) as A
sum(case when Type = 'B' then Amount) as B
from yourTable
group by ID
또 다른 옵션은 테이블을 자신과 결합하는 것입니다.
select ID, t1.Amount as A, t2.Amount as B
from yourTable t1
join yourTable t2
on t1.ID = t2.ID
where t1.Type = 'A' and
t2.Type = 'B'
첫 번째 옵션을 사용하려면 ID / 유형 당 하나의 행만 있어야하지만이 경우 성능이 더 좋습니다. 두 번째 것이 더 안전하지만 테이블 자체를 결합하면 성능이 저하됩니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다