복붙노트

[SQL] 방법은 하나 개 이상의 결과 하위 쿼리를 사용하여 테이블에 값을 삽입 할 수 있습니까?

SQL

방법은 하나 개 이상의 결과 하위 쿼리를 사용하여 테이블에 값을 삽입 할 수 있습니까?

난 정말 당신의 도움을 주셔서 감사합니다.

아마 그것을 해결하기 위해 매우 간단한 문제입니다 -하지만 난 사람이 아니에요 .. ;-)

나는 SQL Server의 두 테이블이 있습니다

지금은 ID의 특정 세트를 선택하고 해당 ID와 가격 테이블에 일부 항목을 삽입 할.

예를 들면 (잘못 및 작동하지 않는 SQL)

INSERT INTO prices (group, id, price) 
VALUES (7, (select articleId from article WHERE name LIKE 'ABC%'), 1.50);

SQL 오류 -> 하위 쿼리는 1 개 이상의 값을 가지고

도와 주셔서 감사합니다

해결법

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

    1.당신이 원하는 :

    당신이 원하는 :

    insert into prices (group, id, price)
    select 
        7, articleId, 1.50
    from article where name like 'ABC%';
    

    어디 그냥 상수 필드를 하드.

  2. ==============================

    2.이 시도:

    이 시도:

    INSERT INTO prices (
        group, 
        id,
        price
    ) 
    SELECT
        7,
        articleId,
        1.50
    FROM
        article 
    WHERE 
        name LIKE 'ABC%';
    
  3. ==============================

    3.

    INSERT INTO prices (group, id, price)
      SELECT 7, articleId, 1.50 FROM article WHERE name LIKE 'ABC%'
    
  4. ==============================

    4.당신이 당신의 테이블에 하나의 레코드를 삽입하는 경우, 당신은 할 수있다

    당신이 당신의 테이블에 하나의 레코드를 삽입하는 경우, 당신은 할 수있다

    INSERT INTO yourTable 
    VALUES(value1, value2)
    

    하나 개 이상의 레코드를 삽입하기 원하기 때문에, 당신은 당신의 SQL 문에서 SELECT를 사용할 수 있습니다.

    그래서 당신은이 작업을 수행 할 것입니다 :

    INSERT INTO prices (group, id, price) 
    SELECT 7, articleId, 1.50
    from article 
    WHERE name LIKE 'ABC%'
    
  5. ==============================

    5.하위 쿼리 모습처럼

    하위 쿼리 모습처럼

     insert into table_name (col1,col2,....) values (select col1,col2,... FROM table_2 ...)
    

    이 도움말을 희망

  6. ==============================

    6.

    INSERT INTO prices(group, id, price)
    SELECT 7, articleId, 1.50
    FROM article where name like 'ABC%';
    
  7. from https://stackoverflow.com/questions/9692319/how-can-i-insert-values-into-a-table-using-a-subquery-with-more-than-one-result by cc-by-sa and MIT license