gpt4 book ai didi

mysql - T-SQL 查询过程-插入

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

我想知道你们中是否有人可以帮助我。我试图循环遍历表 1(其中具有植物代码的重复值),并根据唯一的植物代码,为其他两个表创建新记录。对于每个唯一的植物代码,我想在其他两个表中创建一个新行,并且关于非唯一的 PtypeID,我为所有插入链接任何一个 PTypeID,无论我选择哪一个,对于其余字段(如名称等)都无关紧要。我想自己设置这些,我只是坚持如何基于循环某个表并添加到另一个表来插入的逻辑。所以这是数据:

   Table 1                              
PlantCode PlantID PTypeID
MEX 1 10
USA 2 11
USA 2 12
AUS 3 13
CHL 4 14



Table 2
PTypeID PtypeName PRID
123 Supplier 1
23 General 2
45 Customer 3
90 Broker 4
90 Broker 5


Table 3
PCreatedDate PRID PRName
2005-03-21 14:44:27.157 1 Classification
2005-03-29 00:00:00.000 2 Follow Up
2005-04-13 09:27:17.720 3 Step 1
2005-04-13 10:31:37.680 4 Step 2
2005-04-13 10:32:17.663 5 General Process

任何帮助将不胜感激

最佳答案

我不清楚表 1 和其他两个之间有什么关系,所以这有点笼统。

首先,有两个选项,并且都需要一个 select 语句来从 table1 中获取 PlantCode 的唯一值以及与其关联的 PTypeId 之一,所以让我们这样做:

select PlantCode, min(PTypeId)
from table1
group by PlantCode;

这将获取与 PlantCode 关联的最低值 PTypeId。如果您愿意,您可以使用 max(PTypeId) 来代替,它会获得最高值:对于“USA”,min 将为您提供 11,max 将为您提供 12。

选择该数据后,您可以编写一些代码(C#、C++、java 等)来逐行读取结果并将新数据插入到 table2 和 table3 中。我不会展示这一点,但我会展示如何使用纯 SQL 来实现这一点。

insert into table2 (PTypeId, PTypeName, PRID)
select PTypeId, 'YourChoiceOfName', 24 -- set PRID to 24 for all
from
(
select PlantCode, min(PTypeId) as PTypeId
from table1
group by PlantCode
) x;

然后对 table3 执行类似的insert...select...

希望有帮助。

关于mysql - T-SQL 查询过程-插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35160591/

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