다른 열에 있을 수 있는 중복 값이 있는 행 선택

존 비

비즈니스 테이블이 있으며 각 비즈니스에는 최대 3개의 전화번호가 있습니다. 중복된 전화번호를 찾고 싶지만 전화번호가 다른 열에 있기 때문에 기존 GROUP BY쿼리를 작동 시킬 수 없다고 생각 합니다.

샘플 데이터:

ID 비즈니스 이름 전화_메인 전화_모바일 전화_무료
1 존스 도넛 555-551-5555 555-551-5556 없는
2 존스 베이커리 555-551-5557 555-551-5555 없는
슈퍼베이크! 555-300-1005 없는 555-551-5555
4 식료품 프레드 555-223-5511 555-334-5555 없는

이 경우 레코드 1, 2, 3을 동일한 것으로 식별하고 싶습니다. 전화 번호 555-551-5555를 중복된 번호로 식별하는 것만으로도 하위 쿼리를 수행하거나 호출 프로그램이 전화 번호를 사용하고 555-551-5555가 있는 모든 레코드를 가져오는 새 쿼리를 보낼 수 있기 때문에 괜찮을 것입니다. 3개의 전화 열 중.

중요한 경우 MariaDB에 있습니다.

편집, (누군가가 정말로 그것을 원하는 것 같기 때문에 나의 현재 흔들리는 시도를 추가 함):

지금 가지고 있는 것은 다음과 같습니다.

SELECT ID, phone_main, phone_mobile, phone_tollfree
(
    SELECT COUNT(*) FROM businesses b
    WHERE (
        phone IS NOT NULL AND (b.phone_mobile=phone OR b.tollfree=phone )
    )

    OR (
        phone_mobile IS NOT NULL AND (b.phone=phone_mobile OR b.phone_tollfree=phone_mobile)
    )

    OR (
        phone_tollfree IS NOT NULL AND (b.phone=phone_tollfree OR b.phone_mobile=phone_tollfree)
    ) 
) cnt


from business HAVING cnt > 1

이것의 문제점:

  1. 내 테이블의 모든 행을 반환하는 것 같습니다.
  2. 단일 열 내에서 중복을 찾지 않습니다.
sabasabo

모든 전화 열을 하나로 통합한 다음 반복 횟수를 계산하는 것은 어떻습니까?

나는 코드를 실행하지 않았지만 당신에게 방향을 줄 수 있습니다 ... :

SELECT phone, COUNT(phone)
FROM (
SELECT phone_main as phone FROM SampleData
UNION ALL

(SELECT phone_mobile as phone FROM SampleData
ORDER BY City;

UNION ALL
SELECT phone_tollfree as phone FROM SampleData
ORDER BY City; and )
)
GROUP BY phone

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Pandas에서 한 열에는 중복이 있지만 다른 열에는 다른 값이 있는 행을 어떻게 선택합니까?

한 열에서는 중복되고 다른 열에서는 다른 값인 열 값이있는 행을 선택하는 방법은 무엇입니까?

1 열 SQL Server에서 중복 값이 있는 행 선택

두 열에 다른 값이있는 SQL 선택 행

다른 인접 열에서 중복 값이 있는 행 제거

중복된 값이 있는 목록에서 다른 레코드를 어떻게 선택할 수 있습니까?

skimr 요약에서 열에 0이 있고 다른 열에 0과 다른 값이있는 행을 선택할 수 없습니다.

값이 한 테이블의 다른 열에있는 추가 열이있는 특정 행을 선택합니다.

한 열에는 중복 값이 있지만 다른 열에는 다른 값이있는 행 삭제

한 열에는 중복 값이 있지만 다른 열에는 다른 값이있는 행 삭제

중복 값이있는 다른 행으로 열 복사

값이 다른 행에 여러 값이있는 MySQL 선택

값이 간격 사이에 있으면 다른 열의 동일한 행에있는 값을 선택합니다.

동일한 값을 가진 다른 열이있는 mysql에서 행 선택

T-SQL 하나 이상의 열에 값이있는 중복 행 선택

중복 된 열이있는 DF에서 목록을 기반으로 행 선택

다른 행의 열에 정확히 값이 있어야 하는 행 선택

다른 테이블에 있는 단어가 있는 행 선택

파이썬에 중복 키 행 값이 있는지 확인하고 파이썬에서 최대 숫자 열 값이 있는 행을 선택하는 방법

Python의 다른 열 목록에서 열 값이 있는 행 선택

다른 열에 일치하는 값이 있을 때 한 열에서 가장 큰 값을 가진 행 선택

하나의 열에서 중복 값이있는 모든 행을 선택하는 SQL

다른 테이블에 나열된 값 조합이 있는 행 선택

Pandas : 한 열에 중복 값이 있고 두 번째 열에 다른 값이있는 행 찾기

동일한 열에 두 개의 다른 값이있는 행 선택

Access 2016의 다른 열에서 최대 값이있는 고유 행을 어떻게 선택할 수 있습니까?

Pandas는 DataFrame에 상대 열 값이있는 행을 선택합니다.

급여 중복이있을 수있는 min (salary)과 함께 기타 열 값을 선택하십시오.

여러 다른 열에 중복 값이있는 모든 행 가져 오기