간단한 쿼리를 구성하는 데 문제가 있습니다. 카운트 기능을 사용하면 매우 복잡합니다. 여기선택한 레코드의 공통 부분을 선택하는 쿼리
표이다
I는 즉 A = 1 및 2 출력이 표에서, 예를 들어 모든 선택된 A. 그래서 존재 B를 값으로부터 받아야ID | A | B
-----------
1 | 1 | 1
2 | 1 | 2
3 | 1 | 3
4 | 1 | 4
5 | 2 | 1
6 | 2 | 2
7 | 2 | 5
8 | 2 | 6
9 | 3 | 1
10 | 3 | 3
11 | 3 | 7
이고 B = 1 2
내 계획은 IN을 사용하여 선택된 A에있는 모든 B를 가져가는 것입니다. 그리고 모든 B를 계수하기 위해 COUNT 함수를 사용하고 선택된 A의 수와 같으면 옳습니다.
초는 루프를 기반으로합니다. 나는 VBA를 사용하므로 첫 번째 질의는 A = 1 인 모든 B를 찾은 다음 이전 단계에서 찾은 모든 B에서 A = 2 등을 찾는다. 그러나 매우 복잡 할 것입니다.
귀하의 의견은 무엇입니까?
답장을 보내 주셔서 감사합니다.
예 :
A in {1,2} => Output: B = {1,2},
because B = 1 is with A = 1 for ID = 1
and B = 1 is with A = 2 for ID = 5
(similar way with B = 2)
B = 3 is with A = 1 for ID = 3, but it is not with B for any ID
A in {1, 2, 3} => Output: B = {1},
A in {1, 3} => Output: B = {1, 3},
A in {2, 3} => Output: B = {1}
쉬운 SQL 쿼리 출력을 사용할 수 없습니까? SELECT A from tableX INTERSECT SELECT B FROM tableX? – makciook
아니요, 쿼리 출력은 1,2,3입니다. 열 A와 열 B에 나타나는 번호가 필요하지 않습니다. 내가 선택한 B가 필요합니다. 이 예제에서는 A = 1,2,3을 출력 할 때만 1이됩니다. A = 1,2 => B = 1,2- A = 1,3 => B = 1,3 A = 2,3 => B = 1 그 B마다 선택되어 있기 때문에 – galvanize
에서 아니오, 출력 검색어는 1,2,3입니다. 열 A와 열 B에 나타나는 숫자가 필요하지 않습니다. 나에 의해 선택된 B가 필요합니다. 이 예제에서는 A = 1,2,3을 출력 할 때만 1이됩니다. | A A = 2,3 => B = 1,2,3,A = 1,3 => B = 1,3 | A = 2,3 => B = 1, B가 모두 선택되어 있기 때문에 A – galvanize