2012-06-11 10 views
1

두 데이터베이스 테이블을 결합하는 테이블을 생성해야합니다. 두 데이터베이스 모두 공통 열인 코어를 공유하는 테이블을 가지고 있습니다.2 개의 데이터베이스를 결합하여 공통 컬럼을 가진 테이블을 생성하십시오.

따라서 공통 "코어"를 표시하려면 각 행이 필요합니다.

이 작업을 수행하려면 별도의 데이터베이스를 만들어야합니까? 둘 다 동일한 코어 열 값을 갖는 위치를 HL 테이블로부터 H 테이블의 모든 값뿐만 아니라, 값을 표시한다

Database: hero 
Table: cartons_current 
+---------+ 
| date | 
+---------+ 
| core | 
+---------+ 
| qty  | 
+---------+ 

Database: hero_label 
Table: labels_current 
+---------+ 
| date | 
+---------+ 
| core | 
+---------+ 
| qty  | 
+---------+ 
+0

이것은 정보를 추가하는 MySQL입니다 – Erik

+0

귀하의 예제는 동일한 열 이름을 가진 두 개의 테이블을 제공합니다. 이것은 당신이 산문에서 제안하는 것과 모순됩니다. 오타가 있는지, 오해가 있다면 오해가 무엇인지 명확히 할 수 있습니까? –

+0

예. 동일한 열 이름을 가진 두 개의 다른 데이터베이스 및 테이블이 있습니다. 각 테이블에는 서로 다른 값을 가진 해당 열이 있습니다. 하나의 테이블 행에 함께 표시하려면 두 레코드가 필요합니다. – Erik

답변

1
SELECT h.*, hl.date, hl.qty FROM hero h, hero_label hl WHERE h.core = hl.core 

. 이게 너가 찾고있는거야?

수정

죄송합니다. 나는 분리 된 테이블을 보지 못했습니다. 내 부분에 대한 감독. 당신이 두 데이터베이스 모두 테이블 SHOULD 작업에 대한 액세스 권한을 가지고

는만큼이

SELECT hero.cartoons_label.*, hero_label.labels_current.date, hero_label.labels_current.qty 
FROM hero.cartoons_label, hero_label.labels_current 
WHERE hero.cartoons_label.core = hero_label.labels_current.core 

을보십시오.

+0

이렇게하려면 새 데이터베이스를 만들거나 기존 데이터베이스 중 하나에서이 작업을 수행 할 수 있습니까? – Erik

+0

테이블이 다른 데이터베이스에 있기 때문에 이것은 작동하지 않습니다. –

+0

@Erik이 쿼리는 기본적으로 두 테이블을 모두 가져 와서 동등한 핵심 열 값을 갖는 두 쿼리의 모든 열을 결합하는 하나의 결과를 만듭니다. 이것을 자신의 테이블로 사용하고 싶다면 뷰를 생성 할 수 있습니다. 그런 다음 쿼리 할 때 "SELECT * FROM hero_view"와 같은 것을 사용합니다. – Tony318

관련 문제