1
所以我試圖做一個小型的網上商店。我有2個表格:cart_products
和order_products
。在這些表格中,可以添加到購物車中的兩種類型的商品:promotion
和products
。這兩種類型的物品存儲在不同的表上,稱爲:promotions
和products
。從一個表插入數據到另一個 - MySQL
最初,所有產品/促銷活動都添加到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
。有誰知道我可以怎麼做呢?任何幫助是極大的讚賞!
謝謝,我最後不得不把'SELECT'放在括號裏面,否則它給了我一個錯誤。但我得到它的工作。 –
很高興我的回答可以接受你@BrianMoreno – AlVaz