je dois sélectionner FirstName, LastName, deliver_date, order_id, TOTAL_PRICE à partir du tableau 1, tableau 2, tableau 3 selon id et order_id et mettre ceux dans le tableau 4.valeur Insérer de trois tables dans une table vide
Tableau 1
id FirstName LastName
-------------------------
1 mr.xxxx xxx
2 mr.ssss sss
3 mr.yyyy yyy
Tableau 2
order_id deliver_date id tracking_number
----------------------------------------------
01 10/01/2017 1 1
02 10/01/2017 2 2
03 10/01/2017 3 3
Tableau 3
order_id total_price item qty
-----------------------------------------------
01 some price xx some quantity xx
02 some price xx some quantity xx
03 some price xx some quantity xx
Tableau 4
FirstName, LastName, deliver_date, order_id, total_price
J'essaie de le faire comme ceci:
INSERT INTO RECEIPT (CUST_FNAME, CUST_LNAME, CUST_EMAIL, CUST_MOBILE, CUST_ADDRESS, CUST_CITY, CUST_STATE, CUST_POSTCODE, DELIVERY_DATE, TOTAL_PRICE, CUST_ID, ORDER_ID)
VALUES (SELECT CUSTOMER.CUST_FNAME, CUSTOMER.CUST_LNAME, CUSTOMER.CUST_EMAIL, CUSTOMER.CUST_MOBILE, CUSTOMER.CUST_ADDRESS, CUSTOMER.CUST_CITY, CUSTOMER.CUST_STATE, CUSTOMER.CUST_POSTCODE , ORDERS.DELIVERY_DATE, "ORDER DETAIL".TOTAL_PRICE, ORDERS.CUST_ID, ORDERS.ORDER_ID FROM CUSTOMER, ORDERS, "ORDER DETAIL" WHERE CUSTOMER.CUST_ID = ORDERS.CUST_ID AND ORDERS.ORDER_ID = "ORDER DETAIL".ORDER_ID)
Mais je reçois une erreur:
SQL0412N Plusieurs colonnes sont renvoyées d'un sous-requête est autorisé seulement une colonne. SQLSTATE = 42823
Side note: S'il vous plaît cesser d'utiliser le "implicite join" (séparés par des virgules 'clause FROM'), et passer à spécifier explicitement' JOIN's, avec autant de conditions que pertinentes dans le 'ON'. –