목록 안에는 항목이 있습니다. shop. Shop에는 동일한 ID가 있지만 다른 group_id가 있습니다. 기본 키는 shop_id, group_id입니다.GROUP BY/HAVING CLAUSE Sqlite에서 실패
처음으로 목록을 표시 할 때 해당 그룹을 그룹화하려고합니다 (동일한 상점이므로) 다음 화면에서.
그래서, 내 질문은 다음과 같습니다
SELECT * FROM TABLE_SHOP GROUP BY ID
하지만, 나는 그것을 처리 할 때, 나는 필드 상점을 분리 할 필요가 나는하는 경우에 = 0/1
= 1 "완료" 요소를 비활성화합니다. 하나이 완료되면
SELECT * FROM TABLE_SHOP GROUP BY ID HAVING DONE =0
그러나이, 가게가 목록에 더 이상 나타나지 않습니다
나는 조항을 추가했습니다. (하나는 사용 중지되고 하나는 사용 가능으로 표시되는 대신)목록에서 무엇이 실패했는지 알 수 있습니까?
편집 : 나는 필드를 변경
은 그림과 일치하는 이름을 지정합니다. 이 경우 목록을 표시하고 싶습니다. 내가 처음 표시 할 때 (0으로 완료된 모든 필드), 상점 25975 (2 레코드)가 한 번 나타납니다. (이유는 GROUP BY를 사용했기 때문입니다)
그런 다음 상점을 처리하면 업데이트됩니다. 그의 완료 필드를 1로 설정합니다.
그래서이 순간에는 2 행을 더 이상 그룹화하지 않아도됩니다. 그것은 그것 명확하다 ???
위한 그러나 여기, 내가, 목록에 보관해야 TIENDA_DONE = 1이 가게를 볼 수 없습니다 나는 할 수 있도록 그것을 비활성화하십시오 –
그래서, 모든 상점을 보이기를 원하십니까? 그렇다면 "상점을 분리"한다는 것은 무엇을 의미합니까? '완료'된 상점을 '실행 취소'에서 분리하려는 경우 모든 "완료된"상점은 목록의 맨 위에 있으므로 ORDER BY 절을 사용할 수 있습니다. SELECT * FROM TABLE_TIENDA ORDER BY TIENDA_DONE, TIENDA_ID, GROUP_ID. –
둘 다 tienda_done = 0 일 때 먼저 그룹화하려고합니다. –