gpt4 book ai didi

mysql - 当明细记录存在但缺少主表时插入主表

转载 作者:行者123 更新时间:2023-11-29 06:35:44 26 4
gpt4 key购买 nike

我有两张表——一张主表,一张明细表(即一对多表)。我正在从一个可怕的模式中导入数据,数据的一个特征是我经常有一些详细记录但没有主记录。

在这些情况下如何插入主记录?通过这个查询,我可以很容易地找到丢失的主人:

select * from p_ltx_surgical_comp as c -- detail
left join p_ltx_surgical as s -- master
on c.fk_oid = s.fk_oid -- this is the key
where s.oid is null -- primary key, so null means no record exists
group by c.fk_oid; -- only show one value even if there are multiple detail records

哦,还有一个额外的问题,即使有多个详细记录,我也只想插入一个母版。

最佳答案

您可以从这个 INSERT 查询开始:

INSERT INTO p_ltx_surgical (fk_oid)
SELECT DISTINCT c.fk_oid
FROM
p_ltx_surgical_comp AS c
LEFT JOIN p_ltx_surgical AS s
ON c.fk_oid = s.fk_oid
WHERE
s.oid IS NULL

并且您可以向表中添加更多详细信息,例如:

INSERT INTO p_ltx_surgical (fk_oid, description, ...)
SELECT DISTINCT c.fk_oid, 'missing record', ...
FROM
...

关于mysql - 当明细记录存在但缺少主表时插入主表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24957444/

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