gpt4 book ai didi

MySQL从一张表到另一张表的数据

转载 作者:行者123 更新时间:2023-11-29 10:50:07 25 4
gpt4 key购买 nike

我在MySQL中有3个表,结构如下。

表1:药物

字段:医疗ID医学名称

示例数据:

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。药品 ID 可以从“药品”表中获取。

最佳答案

您可以使用INSERT INTO table SELECT from other table并借助嵌套选择来完成此操作:

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 并将其增加一个 (SELECT MAX(sm_id)+1 FROM 摘要),如果 AUTO_INCREMENT 为设置到列。

第二个嵌套选择(SELECT med_id FROM Medicines WHERE med_name = transactions.tr_medicnie)它模仿表药品和事务之间的联接,您可以在每个事务中获取药品ID并将其插入摘要中。

关于MySQL从一张表到另一张表的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43884001/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com