이 데이터와 관계 테이블이 있습니다. 내가 원하는 것은 a_id
을 반환하는 쿼리입니다. 연결된 모든 사람은 status
이 1과 같습니다.관계 테이블에 대한 쿼리
따라서이 경우 6이 반환됩니다.
a_id b_id status
4 757 0
4 758 0
4 761 0
5 757 1
5 758 0
5 761 1
6 757 1
6 761 1
6 758 1
MySQL의 5.5
이 데이터와 관계 테이블이 있습니다. 내가 원하는 것은 a_id
을 반환하는 쿼리입니다. 연결된 모든 사람은 status
이 1과 같습니다.관계 테이블에 대한 쿼리
따라서이 경우 6이 반환됩니다.
a_id b_id status
4 757 0
4 758 0
4 761 0
5 757 1
5 758 0
5 761 1
6 757 1
6 761 1
6 758 1
MySQL의 5.5
SELECT DISTINCT a_id
FROM relation_table
WHERE a_id NOT IN (SELECT a_id FROM relation_table WHERE status != 1);
그러면 5가 반환됩니다. –
@MadaraUchiha 아니요, 5가 "상태"가 0 인 행이 하나 이상 있으므로 작동합니다. – Innkeeper
네, 미안 해요, 지금은 그 일을했습니다. –
WHERE NOT IN을 A_ID 테이블 _ 구별 A_ID 을 선택합니다 (TABLE_NAME FROM A_ID SELECT WHERE 상태 = 0);
참조 : http://www.w3schools.com/sql/trysql.asp?filename=trysql_select_distinct
그건 5를 돌려 줄 것입니다. –
이
SELECT DISTINCT a_id
FROM table1
WHERE a_id NOT IN
(SELECT a_id
FROM table1
WHERE status != 1);
을 시도하고 어디 노력입니까? –
@ shree.pat18'group by'과'order by'로 시도했지만,이 순서가 쓰여질 수있는 유일한 순서이기 때문에 행을'status'로 정렬 한 다음'a_id'로 그룹화하는 아이디어는 없었습니다. 작업. – Innkeeper