![](/img/trans.png)
[英]how to insert values from two tables with value in one table is equal to value in the other?
[英]Insert values from two tables into one table
現在,接續基本問題的新方案如下:
表格: menu_list_hed
menu_id menu_name shop_id menu category
--------------------------------------------
1 Breakfast 12 Veg
2 Dinner 12 Veg
.... Many more
85 Breakfast 13 Veg
36 Dinner 13 Veg
.... Many more
我有一個稱為另一個表menu_items
它已經具備了項目shop_id
12
id shop_id menu_id item_name
--------------------------------------
1 12 1 Roti
2 12 1 Prantha
3 12 2 Thali
4 12 2 Sweet
.... many More
現在我希望為shop_id
13插入項目,因為items
相同,但是shop_id
和menu_id
會有所不同,如下所示:
id shop_id menu_id item_name
--------------------------------------
1 12 1 Roti
2 12 1 Prantha
3 12 2 Thali
4 12 2 Sweet
.... many More
111 13 85 Roti
112 13 85 Prantha
113 13 36 Thali
114 13 36 Sweet
我通過在上一個問題中使用查詢來復制值,然后運行更新語句,如
UPDATE item SET `menu_id`= 85 where `menu_id` = 1 and restaurant_id = 13;
但我想用一個查詢來實現
INSERT INTO menu_items (shop_id, menu_id, item_name)
SELECT 13, menu_id + 24, item_name FROM menu_items
您實際上不必使用2個查詢:
您可以將menu_id col作為標識列,否則您可以
INSERT INTO menu_list_hed
(`menu_id`,menu_name`, `shop_id`, `menu category`)
select max(menu_id)+1 `menu_name`, '13' AS `shop_id`, `menu category`
from menu_list_hed where shop_id = 12
;
除非您要添加一些特定的ID,而這僅僅是您要獲得唯一性,否則它應該這樣做。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.