0
我在MySQL中有3個表,結構如下。從一個表到另一個表的MySQL數據
表1:藥物
字段: med_id med_name
示例數據:
med_id | med_name
1 | Panadol
2 | Tylenol
3 | Brufen
表2:交易
字段:tr_id,tr_medicine,tr_city
樣本數據:
tr_id | tr_medicine | tr_city
1 | Panadol | London
2 | Tylenol | Milan
3 | Brufen | New York
表3:總結
領域:SM_ID,sm_medicine
樣本數據:
sm_id | sm_medicine
1 | 1
2 | 2
3 | 3
我想要做的是,在一個查詢(子可以使用查詢),來自「交易」表的現成數據並將其插入「摘要」表中,但是應該插入藥物名稱,藥物ID。醫學證可以從'藥品'表中找到。
INSERT INTO summary (sm_id, sm_medicine)
SELECT (SELECT MAX(sm_id)+1 FROM summary),
(SELECT med_id FROM medicines WHERE med_name = transactions.tr_medicnie)
FROM transactions;
首先,你得到最大的ID在摘要,如果AUTO_INCREMENT
設置爲一個(SELECT MAX(sm_id)+1 FROM summary)
增加它,這是沒有必要:
到目前爲止您嘗試過哪些代碼? – dat3450