2014-11-14 3 views
0

전체 공개에서 나는 이번 주에 SQL을 사용하여 프로젝트에 던져졌으며 불행히도 지금까지 아주 기본적인 쿼리를 사용하지 않은 경험이 거의 없습니다. 나는 공부를 시작할 것이지만, 단기간에 도움을받을 수 있습니다.여러 테이블의 열에서 새 테이블 만들기

이 예제에서 테이블의 이름은 Person_PRPerson_CME입니다.

두 테이블

  • 는 동일한 사람에 관한 정보를 포함하고 같은 사람 식별자 (record_num 및 person_num)를 포함한다.
  • 은 record_num 및 person_num으로 정렬되므로 전체 정렬됩니다.

테이블 :

Person_PR

record_num, person_num, pr_variable1, pr_variable2 

Person_CME

record_num, person_num, cme_variable1, cme_varable2 

나는 새 테이블 Person_new에 대한 싶습니다은 record_num, person_num, cme_variable1, cme_varable2, pr_variable1 and pr_variable2를 포함합니다.

  • cme_ 변수는 Person_CME 테이블에서 온 것이며,
  • pr_ 변수는 Person_PR 테이블에서 올 것입니다.

새로운 테이블 Person_new : 나는 시도

record_num, person_num, cme_variable1, cme_varable2, pr_variable1, pr_variable2 

사용하여이 작업을 수행 모두에 삽입하고 테이블로 선택 방법을 만들 수 있지만 제대로 작동하려면 아무 것도 얻을 수 없습니다 생각합니다. 누군가가 나를 올바른 방향으로 시작할 수 있기를 바랬습니다. 이 책을 읽을 시간을 내서 미리 감사 드리며 제공 할 수있는 도움을주십시오.

+0

왜 데이터베이스에 데이터를 복제 하시겠습니까? – Dai

+0

이 테이블의 크기는 어느 정도입니까? – Siyual

+0

원하는 열을 사용하여 데이터 복사본을 만들지 않도록해야합니다. 대신 원하는 데이터가 들어있는 쿼리를 만들어야합니다. 또한 테이블에는 주문이 없습니다. 데이터를 정렬하는 유일한 방법은 select 문에 order by 절을 넣는 것입니다. –

답변

1

SQL 서버에서 새 테이블을 생성하는 구문은 당신이 원하는 데이터를 표시하는보기를 사용하는 것이 더 의미가 있습니다, 그러나

SELECT p.record_num 
    , p.person_num 
    , c.cme_variable1 
    , c.cme_variable2 
    , p.pr_variable1 
    , p.pr_variable2 
INTO new_table 
FROM Person_PR p 
INNER JOIN Person_CME c 
    ON p.person_num = c.person_num 
    AND p.record_num = b.record_num 

입니다. 그런 다음 액세스 폼의 레코드 원본으로 저장 프로 시저를 사용할 수 있습니다

CREATE PROCEDURE [dbo].GetPersonData 

AS 
BEGIN 

    SET NOCOUNT ON; 

    SELECT cme.record_num , 
      cme.person_num , 
      cme.cme_variable1 , 
      cme.cme_variable2 , 
      pr.prvariable1 , 
      pr.prvariable2 
    FROM Person_CME cme 
      INNER JOIN Person_PR pr ON cme.record_num = pr.record_num 
             AND cme.person_num = pr.person_num 

END 

:

+0

FJT와 그 외 모든 분들께 감사드립니다. 이것은 내가 찾고 있었던 바로 그 것이다. 필자가 만든 테이블에 데이터 입력을 원한다고 말하면 좋겠다. 다시 한번 감사 드리며, 이것은 엄청난 도움이 될 것입니다. – photec

0

당신은 저장 프로 시저가 아닌 새 테이블을 사용할 수 있습니다. 주기적으로 새로 고쳐야하고 중복 데이터를 저장해야하는 새 테이블을 작성할 필요가 없습니다. 해당되는 경우보기를 사용할 수도 있습니다.

0

SSMS의 개체 탐색기에서 테이블을 오른쪽 마우스로 클릭하고, 테이블을 스크립트로 작성하고, 작성 대상, 새 쿼리 편집기 창을 클릭 할 수 있습니다. 세 번째 쿼리 창을 만들고 각 테이블에서 가져올 필드를 복사하여 붙여 넣은 다음 스크립트를 실행하여 새 테이블을 만듭니다.

또한 SELECT 문을 수행 할 수 있습니다

SELECT record_num, person_num, cme_variable1, cme_varable2, pr_variable1, and pr_variable2 
INTO Person_new 
FROM Person_PR 
JOIN Person_CME ON 1=2 

을 개체 탐색기를 통해 편집 할 수 있습니다 거기에서.

당신이 두 테이블에서 데이터를 포함하는 별도의 테이블을 유지하는 것보다 그것을보기를 오히려 확인하려면 :

CREATE VIEW Person_new AS 
SELECT PR.record_num, person_num, cme_variable1, cme_varable2, pr_variable1, and pr_variable2 
FROM Person_PR AS PR 
JOIN Person_CME AS CME ON PR.record_num = CME.record_num AND PR.person_num = CME.person_num 

당신은 어떤 선택 문에서 ORDER BY 절을 포함하여 순서를 강제를, 테이블 "주문하지 않았습니다"

관련 문제