2011-09-01 4 views
2

질문이 처음입니다. 내가 찾던 것을 찾을 수 없었던 것은 처음이었고, 단순해야하기 때문에 나는 미쳐 갈 것이라고 생각합니다!MySQL 수 행 a = b 및 b = a

'T'에 'A', 'B'두 열이있는 MySQL 테이블이 있다고 가정 해 보겠습니다.

A B 
--- 
1 2 
2 1 
1 3 
3 1 
2 4 

변수가있는 상호 관계를 계산하고 싶습니다. 그래서

X = 1 

를 제공 할 경우는

2 

1, 2, 2, 1이 존재하고, 1, 3, 3 있기 때문에, 1이 존재 반환해야합니다. 그러나

X = 2 

공급

그것은 1, 2, 2, 1이 존재

1 

때문에 반환해야하지만 2 = N 및 N = 2

나는이 희망을 다른 행 없습니다 분명하다! 그리고 사과한다면 간단합니다. 나는 두뇌가 얼어 붙은 것처럼 느낍니다. 건배!

+2

(모두 매개 변수에 같은 값을 전달) 'X'는 무엇을 기반으로합니까? 'A' 또는'B' ?? – Neal

+1

@Neal이 맞습니다. 여기서 실제로 해결하려는 것은 무엇입니까? 현재 X는 질문에 따라 테이블과 명확한 관계가 없습니다. – JM4

+0

선택한 답변을 참조하십시오. 제발 시간 들셔서 고마워요. 명확성을 위해 질문을 업데이트하고 싶다면 알려주십시오. –

답변

4

이 (당신이있는 행이있는 경우 만 (n, 이때 n)은 또한 상호 관계로 계산합니다) 작동합니다

select count(*) from T t1 
join T t2 on t1.B = t2.A 
where t1.A = ? and t2.B = ? 

+0

Genius. 이것은 완벽하게 작동합니다. 감사합니다. –

+0

명확히하기 위해 n, n을 상호 관계로 계산하는 것은 불가능합니다. 이는이 시나리오에서 결코 발생할 수 없기 때문입니다. 나는 새 것이므로 질문을 업데이트해야하는지 알려주세요! 다시 한번 감사드립니다. –

관련 문제