다양한 예제를 보았습니다 만 table_A
에서 행과 관련이없는 모든 행을 table_B
에 반환하는 방법에 대한 확실한 예를 찾을 수 없습니다. table_A_B
주어진 값은 table_A.id
또는 table_B.id
입니다. 나는이에 찾을 수있는 가장 가까운 matchs은 다음과 같습니다 관련 테이블의 관계없는 ID를 선택하십시오
- 이
A
의 목록이 아닙니다B
에 있지만, 문제가 B에있는 값 모른 채 하나 이상의 행에 관련된를 가져옵니다. B
과 관련없는A
의 목록을 받으세요.B
의 쉼표로 구분 된 필드가있는A
의 목록을 가져옵니다. (확실하지는 않지만 한 가지 예처럼 확장 될 수 있습니다.)A
과B
의 목록은 서로 관련이 없지만 다른 것과 관련이 없다는 표시는 없습니다.
나는 또한 모든 잠재적 인 A_B
튜플의 목록을 얻을 수 있습니다 :
SELECT A.id, B.id FROM A
INNER JOIN B ON A.id <> B.id
을 그리고 가정적 관련 테이블에 대해 EXCEPT
해결 방법 (내 생각) 중 하나를 사용할 수 있지만 모든 시도가 있었다 성공하지 못했고 그 조합에 의해 반환 된 수백만 개의 잠재적 인 조합이 있다면 어쨌든 훨씬 효율적이지 않을 것이라고 생각합니다.
그래서 주어진 테이블 값 :
A
id | name
1 | X
2 | y
3 | z
B
id | name
7 | e
8 | f
9 | g
A_B
id | a_id | b_id
1 | 1 | 7
2 | 1 | 8
3 | 1 | 9
1 | 2 | 7
2 | 2 | 8
1 | 3 | 7
반환하는 쿼리가 있습니까 : A가 | B 2 | 9 3 | 8 3 | 9
또는 더 나은 :
A | B
y | g
z | f
z | g
또는
이 문제에 대한 요구하고있다?
내가 사용하는 시도 'INNER이 잠재력의 전체 목록을 얻을 수 A.id <> B.id' 가입하지만 굽이마다 실패했다. 다행스럽게도 나는 논리적으로 올바른 아이디어를 가지고 있었고 집에 가져갈 수있는 방법을 알고있었습니다. 감사! – Anthony