복붙노트

[SQL] 여러 테이블에서 INSERT INTO 표

SQL

여러 테이블에서 INSERT INTO 표

이봐 그래서 나는 관련이없는 두 테이블을 연결하는 접합 테이블이 있습니다. 두 테이블은 ID의 있습니다. 나는 다른 값으로, 예를 들어이 내가 그것을보고 어떻게 사용하여 각 테이블에서 ID를 선택해야합니다 :

INSERT INTO c (aID, bID)
VALUES (SELECT a.ID WHERE a.Name="Me", SELECT b.ID WHERE b.Class="Math");

내가 사용을 본 적이 모든 예제는 문에 가입하지만, 두 테이블은 그렇지 않은이 경우, 공통의 가치를 가지고있다.

해결법

  1. ==============================

    1.이 쿼리 검색 :

    이 쿼리 검색 :

         INSERT INTO C (aID, bID) 
         SELECT A.ID, B.ID 
         FROM A, B 
         WHERE A.Name='Me'
         AND B.Class='Math';
    
  2. ==============================

    2.또 다른 방법이 될 수 있습니다

    또 다른 방법이 될 수 있습니다

    INSERT INTO c (aID, bID)
    SELECT 
       (SELECT A.id FROM TableA A WHERE A.names = 'sometext'), 
       B.id FROM TableB B 
    WHERE 
       B.x_name ='othertext';
    
  3. ==============================

    3.주어진 이름과 클래스의 각 테이블에 하나의 값이 가정하면, 가장 쉬운 방법은 ()에 하위 쿼리를 둘러싸 단지입니다 :

    주어진 이름과 클래스의 각 테이블에 하나의 값이 가정하면, 가장 쉬운 방법은 ()에 하위 쿼리를 둘러싸 단지입니다 :

    INSERT INTO c VALUES (
    (SELECT ID from a where Name='Me'),
    (SELECT ID from b where Class ='Math')
    )
    

    dbfiddle에 데모

  4. from https://stackoverflow.com/questions/13244489/insert-into-table-from-multiple-tables by cc-by-sa and MIT license