여러 열이있는 단일 행을 하나 이상의 열로 여러 행으로 변환하는 쿼리를 변환하려고합니다. 예를 들어 내 쿼리는 시각 다음과 같습니다SQLite 열을 행으로 바꿉니다
SELECT _id, value1, value2, value3, value4 FROM table WHERE _id IS 1;
결과 :
_id value1 value2 value3 value4
----------------------------------------
1 10 11 12 13
내 결과를 가지고 싶다은 다음과 같이 :
name value
--------------
value1 10
value2 11
value3 12
value4 13
하지만 수도 있습니다 다음과 같이 작업하십시오.
value
-----
10
11
12
13
현재 Android에서 MatrixCursor를 사용하여 이것을 수동으로 변환하고 있지만 이상적인 상황은 커서를 이미 사용 가능한 상태로 유지하는 것입니다. 내 원하는 스키마에서 결과를 검색하기 위해 내 쿼리를 수정하거나 원하는 최종 상태를 얻기 위해 임시 테이블과 같은 것을 사용하는 방법이 있습니까?
또한 데이터베이스 내에이 기능을 설명하는 공통된 용어가 있습니까?
임시로 원하면 이름과 값이 모두 필요한 경우 List 또는 Map에 결과를 쉽게 저장할 수 있습니다. –
ID를 반복 할 수 없습니다. 고유해야합니다. 따라서 여러 행에 대해 동일한 ID를 사용할 수 없습니다. –
답장을 보내 주셔서 감사합니다 Darshan, 이미 MatrixCursor에 결과를 저장하고 있지만 CursorAdaptor를 사용할 때 복잡성이 많이 발생합니다. 가장 간단한 방법은 선택을 통해 기본 레이아웃에 데이터를 마사지하는 것입니다. My MatrixCursor가 이미 작동 중입니다. 좀 더 우아한 솔루션을 찾고 있습니다. @Vlad 좋은 지적입니다. 이미 ID 값을 알고 있기 때문에 ID를 유지하는 데별로 관심이 없습니다. (값을 알고 있습니다.) 그러나 요점은 각 결과의 열을 각각 새로운 행으로 추가하는 것입니다. –