2014-04-16 2 views
-1

두 개의 테이블 CompaniesCustomers을 조인해야합니다. MS SQLServer에Customer 테이블 MySQL 서버에에다른 데이터베이스 서버에 두 개의 테이블 조인

Companies 테이블입니다.

이 목표를 달성하는 가장 좋은 방법은 무엇입니까? DB2

  • 에서

  • +1

    .net. 이렇게하려면 데이터 집합 개체를 사용합니다. 짧은 연구 후에 자바에서는 .net - resultset의 데이터 세트와 거의 같은 클래스가 있습니다. 아마도이 영역을 조사 할 수 있습니다. – Sky

    답변

    1

    , 당신은하지 코드에서 SQL 서버에서 테이블을 조인 할 필요가있다. 내가 바로이있는 경우

    는, 당신은 서버 연결과 같은 일부 관리 작업을 수행해야합니다.

    Here 어떻게 MSSQL 서버에 MySQL 서버를 연결하는 방법에 대한 설명이있다.

    SELECT 
        [column_list] 
    FROM companies 
        JOIN [server_name].[database_name].[schema_name].[table_name] 
    WHERE ... 
    

    가 연결된 서버에 존재하는 테이블을 액세스 할 때, 당신은 네 부분으로 된 이름을 작성해야한다는 유의 사항 : 당신이 성공적으로 해당 서버를 연결 한 후 같은

    은 다음 구문은 간단하다.

    0
    1. 선택 회사가 DB1에서
    2. 선택 고객은 생성,
    3. 지도 키에 가입 Map<WhatToJoinOn, Company>Map<WhatToJoinOn, Customer>에서 그들을 넣어 List<CompanyCustomer>
    +0

    두 개의 다른 데이터베이스 서버입니다. – Sky

    +0

    그래서? DB1에서 Companies를 선택하고 DB2에서 Customers를 선택하십시오 ... –

    +0

    정확히,이 응답은 downvote를받을 자격이 없습니다. 나는 이것을 명확함을 위해 대답에 추가했다. – Stefan

    0

    이 데이터베이스를 조회하기 위해, 2 개의 별도 연결이 필요합니다. 이 경우에는 MSSQL과 MySQL 데이터베이스가 있으므로 별도의 드라이버가 필요합니다. 별도의 연결이 필요하기 때문에 2 개의 별도 쿼리가 필요합니다. 원하는 작업에 따라 먼저 Companies을 검색 한 다음 Customers WHERE company = 'some value from COMPANIES' (또는 그 반대로)에서 쿼리를 수행 할 수 있습니다.

    두 테이블의 모든 행을 고유 한 목록으로 가져 와서 쿼리를 사용하지 않고 코드의 해당 목록을 비교할 수도 있습니다.

    0

    는 다음을 시도해보십시오

    1은 SQL 서버에서 회사 테이블에서 데이터를 검색하고 ArrayList<HashMap<String,String>> 형식으로 필요한 열을 저장합니다.

    따라서 열을 arraylist 색인으로 만들고 HashMap을 열 이름에 응답하는 키 값 쌍으로 만듭니다. 키 : 열 이름과 값을 해당 행의 열 값으로 사용합니다.

    2 고객 테이블에서 첫 번째 맵의 데이터를 쉼표로 구분 된 형식으로 변환하여 where 절을 추가하여 데이터를 가져옵니다. 따라서 SQL에서 조인과 유사한 필터를 생성합니다.

    HashMap에서 열 이름을 래핑하지 않고 이전과 동일한 결과 세트 데이터에 데이터를 추가하십시오. U는 그 다음 5 행 COLUMN7 액세스 할 때

    ArrayList.get (4) 갔지 ("COLUMN7")를 작성;

    논리가 주어진다

    , 스스로를 구현하십시오. 내가 제대로 이해하고있는 경우 태그가 sql 때문에

    관련 문제