테이블 B의 모든 자식이 조건을 충족 할 때 부모 A의 행만 필요로하는 두 개의 테이블 A와 B가 있습니다. B에서 하나의 행이 기준을 충족시키지 못하면 상위 A 행이 필요하지 않습니다. 나는 여기에 존재하는 것을 사용할 필요가 있다고 생각하지만 어떻게 보여줄 수는 없다. 여기모든 하위 레코드가 조건을 충족 할 때 상위 레코드 만 선택하십시오.
은 데이터 테이블은 다음과 같습니다
표 A
Primary Key Level
1 low
2 low
3 high
4 high
5 low
표 B
Primary Key Phase Parent Primary Key
1 open 1
2 open 1
3 close 1
4 close 2
5 close 2
6 close 3
7 open 4
8 open 4
9 open 5
10 close 5
그리고 쿼리 내가하려고했던 :
select *
from table_a, table_b
where table_a.level = 'low' and
table_b.phase = 'close' and
table_a.primary_key=table_b.parent_primary_key
하지만 내 쿼리는 것 또한 th가있는 행을 반환합니다. e table_a.primary_key = 5
기본적으로 반환되는 유일한 행은 table_A.primary_key = 2로 레벨이 낮고 두 행의 위상이 닫음과 같을 때입니다.
감사합니다.
당신은 * 정확히 * 같은 단어'low'과'와이 단일로 묶여 close'을 시도해 봤어 -quotes, 여전히 결과가 있습니까? 컴파일하지 않아야합니다 ("유효하지 않은 식별자"오류가 발생합니다). – mathguy
아니요, 미안 해요. 나는 그것이 여기있는 방식대로 정확하게 게시하려고하는 데 문제가있었습니다. – confusedbeginner
따옴표를 고정 –