한 테이블에서 다른 테이블로 데이터 삽입-MySQL

브라이언 모레노

그래서 작은 온라인 상점을 만들려고합니다. 2 개의 테이블이 있습니다 : cart_productsorder_products. 이 테이블 안에는 카트에 추가 할 수있는 두 가지 유형의 항목, promotionproducts. 이 두 가지 유형의 항목은 promotions라는 다른 테이블에 저장됩니다 products.

처음에는 모든 제품 / 프로모션이 cart테이블에 추가되고 사용자가 체크 아웃하면 orders테이블 로 전송되고 테이블에서 삭제됩니다 cart.

선택한 항목이 제품인 경우 promotion_id값은 0기본적으로 로 설정됩니다 . 선택한 항목이 프로모션 인 경우 반대의 경우도 마찬가지입니다. 이것은 내 기본 구조입니다.

cart_products

----------------------------------------------------------------------------------
| cart_products_id |    cart_id    |   product_id | promotion_id      | quantity |
----------------------------------------------------------------------------------
| 6                |       1       |   5          | 0                 | 2  
---------------------------------------------------------------------------------

order_products


----------------------------------------------------------------------------------
| order_id |   user_id    | product_id | promotion_id      | price    | quantity |
----------------------------------------------------------------------------------

내가 가진 문제 는 선택한 항목 LEFT JOIN을 얻기 위해 제품 / 프로모션을 시도하는 것 price입니다. 이것은 지금까지 내 질문입니다.

INSERT INTO order_details (order_id, user_id, product_id, promotion_id, price, quantity)
VALUES(
  '6', 
  '7',
  (SELECT 
    cart_products.product_id, 
    cart_products.promotion_id,
    IF(cart_products.promotion_id = '0', products.price, promotions.price),
    cart_products.quantity

  FROM cart_products


  LEFT JOIN products
  ON cart_products.product_id = products.product_id

  LEFT JOIN promotions
  cart_products.promotion_id = promotions.promotion_id

  WHERE cart_products.cart_id = '6')
)

그러나 이것은 내 오류를 제공합니다 Not unique table/alias. 내가 이것에 대해 어떻게 할 수 있는지 아는 사람이 있습니까? 어떤 도움이라도 대단히 감사합니다!

AlVaz

가지고있는 것처럼 값을 정의하는 대신 INSERT INTO SELECT 구문을 사용할 수 있도록 단순히 상수를 선택할 수 있습니다.

INSERT INTO order_details (order_id, user_id, product_id, promotion_id, price, quantity)
SELECT (
    '6', 
    '7',
    cart_products.product_id, 
    cart_products.promotion_id,
    IF(cart_products.promotion_id = '0', products.price, promotions.price),
    cart_products.quantity
  FROM cart_products
  LEFT JOIN products
    ON cart_products.product_id = products.product_id
  LEFT JOIN promotions
    ON cart_products.promotion_id = promotions.promotion_id
  WHERE cart_products.cart_id = '6'
)

또한 두 번째 왼쪽 조인에서 "ON"절을 잊은 것 같습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

선택에 따라 한 테이블에서 다른 테이블로 mysql 삽입

분류에서Dev

한 테이블에서 데이터를 검색하고 mysql의 다른 테이블에 삽입 / 업데이트

분류에서Dev

한 테이블에서 HIVE의 다른 테이블로 JSON 데이터 삽입

분류에서Dev

MySql 여러 테이블에서 데이터 검색 후 다른 테이블에 제한된 값 삽입

분류에서Dev

mysql 데이터베이스의 한 테이블에서 다른 테이블로 데이터를 삽입하고 검색하는 방법

분류에서Dev

한 데이터베이스 테이블에서 다른 데이터베이스 테이블로 삽입

분류에서Dev

ANDROID의 한 데이터베이스 테이블에서 다른 데이터베이스 테이블로 삽입

분류에서Dev

SQL에서 한 테이블에서 다음 테이블로 데이터 삽입

분류에서Dev

SQL에서 한 테이블에서 다음 테이블로 데이터 삽입

분류에서Dev

한 mysql 테이블에서 다른 테이블로 데이터 이동

분류에서Dev

한 MySQL 테이블에서 다른 테이블로 데이터 이동

분류에서Dev

한 테이블에서 다른 테이블로 업데이트 및 삽입

분류에서Dev

MySQL : 한 테이블에서 다른 테이블로 값을 삽입하는 방법이 있습니까?

분류에서Dev

다른 MySQL에 삽입 한 후 테이블 업데이트

분류에서Dev

MySQL-다른 테이블에서 테이블 데이터 삽입

분류에서Dev

SQL 서버 : 한 테이블에서 다른 테이블로 누락 된 데이터 삽입 / 업데이트

분류에서Dev

MySQL-한 테이블에서 다른 테이블로 기본 키 삽입 (외래 키)

분류에서Dev

다른 테이블에서 선택한 데이터 삽입

분류에서Dev

기존 행을 그대로두고 한 테이블에서 다른 테이블로 데이터 삽입

분류에서Dev

mysql에서 한 번에 두 테이블에 데이터 삽입

분류에서Dev

한 테이블에서 다른 테이블로 Mysql Foreach

분류에서Dev

MySQL이 다른 테이블의 열 데이터에 삽입

분류에서Dev

절차를 통해 다른 매핑 테이블에서 한 테이블에서 다른 테이블로 데이터를 삽입하는 방법

분류에서Dev

MySql : 다른 테이블의 다른 열에서 데이터 삽입

분류에서Dev

mysql, java-한 테이블에서 마지막으로 삽입 된 자동 증가 ID를 가져 와서 다른 테이블에 다시 삽입

분류에서Dev

MySQL은 한 테이블에서 다른 필드의 다른 테이블로 데이터를 복사합니다.

분류에서Dev

한 테이블에서 다른 테이블로 데이터를 데이터베이스 (다른 서버)에 삽입

분류에서Dev

MySQL에서 세 번째 테이블을 업데이트 할 때 한 테이블의 여러 레코드를 다른 테이블에 삽입하는 방법

분류에서Dev

한 테이블에서 새 테이블로 누적 된 데이터를 삽입하는 PHP MYSQL의 루프

Related 관련 기사

  1. 1

    선택에 따라 한 테이블에서 다른 테이블로 mysql 삽입

  2. 2

    한 테이블에서 데이터를 검색하고 mysql의 다른 테이블에 삽입 / 업데이트

  3. 3

    한 테이블에서 HIVE의 다른 테이블로 JSON 데이터 삽입

  4. 4

    MySql 여러 테이블에서 데이터 검색 후 다른 테이블에 제한된 값 삽입

  5. 5

    mysql 데이터베이스의 한 테이블에서 다른 테이블로 데이터를 삽입하고 검색하는 방법

  6. 6

    한 데이터베이스 테이블에서 다른 데이터베이스 테이블로 삽입

  7. 7

    ANDROID의 한 데이터베이스 테이블에서 다른 데이터베이스 테이블로 삽입

  8. 8

    SQL에서 한 테이블에서 다음 테이블로 데이터 삽입

  9. 9

    SQL에서 한 테이블에서 다음 테이블로 데이터 삽입

  10. 10

    한 mysql 테이블에서 다른 테이블로 데이터 이동

  11. 11

    한 MySQL 테이블에서 다른 테이블로 데이터 이동

  12. 12

    한 테이블에서 다른 테이블로 업데이트 및 삽입

  13. 13

    MySQL : 한 테이블에서 다른 테이블로 값을 삽입하는 방법이 있습니까?

  14. 14

    다른 MySQL에 삽입 한 후 테이블 업데이트

  15. 15

    MySQL-다른 테이블에서 테이블 데이터 삽입

  16. 16

    SQL 서버 : 한 테이블에서 다른 테이블로 누락 된 데이터 삽입 / 업데이트

  17. 17

    MySQL-한 테이블에서 다른 테이블로 기본 키 삽입 (외래 키)

  18. 18

    다른 테이블에서 선택한 데이터 삽입

  19. 19

    기존 행을 그대로두고 한 테이블에서 다른 테이블로 데이터 삽입

  20. 20

    mysql에서 한 번에 두 테이블에 데이터 삽입

  21. 21

    한 테이블에서 다른 테이블로 Mysql Foreach

  22. 22

    MySQL이 다른 테이블의 열 데이터에 삽입

  23. 23

    절차를 통해 다른 매핑 테이블에서 한 테이블에서 다른 테이블로 데이터를 삽입하는 방법

  24. 24

    MySql : 다른 테이블의 다른 열에서 데이터 삽입

  25. 25

    mysql, java-한 테이블에서 마지막으로 삽입 된 자동 증가 ID를 가져 와서 다른 테이블에 다시 삽입

  26. 26

    MySQL은 한 테이블에서 다른 필드의 다른 테이블로 데이터를 복사합니다.

  27. 27

    한 테이블에서 다른 테이블로 데이터를 데이터베이스 (다른 서버)에 삽입

  28. 28

    MySQL에서 세 번째 테이블을 업데이트 할 때 한 테이블의 여러 레코드를 다른 테이블에 삽입하는 방법

  29. 29

    한 테이블에서 새 테이블로 누적 된 데이터를 삽입하는 PHP MYSQL의 루프

뜨겁다태그

보관