2013-05-24 8 views
0

두 개의 테이블 outdomain (domain) 및 uploaddata (username, domain)가있는 데이터베이스가 있습니다. 나는 그 안에 txt 파일로부터 직접 값을 저장했다. 이제 두 테이블에서 일치하는 데이터를 선택하려고합니다. 다음 쿼리를 실행하고 있지만이 쿼리는 테이블에 수동으로 데이터를 입력 할 때만 작동하며 기존 데이터는 수동으로 입력하지 않습니다.데이터베이스에서 일치하는 값을 가져올 수 없습니다.

SELECT outdomain . * 
FROM outdomain 
INNER JOIN uploaddata ON (outdomain.domain = uploaddata.domain); 

실마리가 없습니다. 도와주세요.

업데이트 : 문제는 두 테이블에서 "xyz"와 일치하면 일치하지만 "xyz.com"과 일치하면 일치하지 않습니다. 결론은 도트 (.) 뒤에 오는 문자열이 쿼리가 레코드와 일치하지 않도록합니다!

+0

두 테이블에 유사한 도메인이 있는지 (수동으로) 확인 했습니까? – Stefan

+0

아주 간단합니다. 행이 없으면 데이터가 일치하지 않기 때문입니다. 기간. Oracle, SQL Server 등 어떤 DBMS를 사용하고 있습니까? – ErikE

+0

도메인이 문자열입니까? –

답변

1

당신이 경우에

SELECT DISTINCT 
    outdomain.domain AS outDomainValue, 
    uploaddate.domain AS uploaddateDomainValue 
FROM 
    outdomain 
    FULL OUTER JOIN uploaddata ON 
     (outdomain.domain = uploaddata.domain); 

당신에게 모든 일치와 고아를 표시합니다 경우 모든 데이터가 정확한지 검증 할 수있어 정확하게 일치하지 않는 내부 참가할 이유.

+0

행이 많은 경우 group_by를 추가하고 필드를 필드별로 추가하여 훨씬 짧은 목록을 얻을 수 있습니다. –

+0

@MichaelDurrant - DISTINCT를 추가했으나 GROUP BY가 유용 할 것입니다. 카운트를 원한다면 - 제안 해 주셔서 감사합니다. –

관련 문제