两张关联表查询结果插入目标表的SQL实现方法咨询
SQL关联插入语句实现
场景1:目标表已提前创建
直接使用INSERT INTO ... SELECT语法完成关联插入即可,关联逻辑匹配你给出的order表id和lab表order_id相等的规则:
INSERT INTO 你的目标表名称 (customer_name, sph, cyl, priority, laboratory, laboratory_date) SELECT o.customer_name, o.sph, o.cyl, l.priority, l.laboratory, l.laboratory_date FROM `order` o INNER JOIN lab l ON o.id = l.order_id;
场景2:目标表尚未创建
可以直接通过关联查询新建表并一次性写入匹配数据:
CREATE TABLE 你的目标表名称 AS SELECT o.customer_name, o.sph, o.cyl, l.priority, l.laboratory, l.laboratory_date FROM `order` o INNER JOIN lab l ON o.id = l.order_id;
补充说明:
order属于SQL保留关键字,作为表名使用时需要转义:MySQL用反引号`包裹、SQL Server用方括号[]包裹、Oracle用双引号""包裹,可根据实际使用的数据库调整。
内容的提问来源于stack exchange,提问作者Mehregan
相关产品推荐
相关产品推荐

