簡體   English   中英

將兩個表中的值插入到一個表中

[英]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_idmenu_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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM