gpt4 book ai didi

sql - 使用SELECT执行INSERT以插入多个记录

转载 作者:行者123 更新时间:2023-12-04 12:25:59 26 4
gpt4 key购买 nike

在下图中,“DodgyOldTable”和“MainTable”之间存在1:1的关系。表“选项”包含在“选项描述”字段中具有“选项Val1”,“选项Val2”和“选项Val3”的记录。
我需要从DodgyOldTable中选择一个插入MainTable_Option中。像这样:

INSERT MainTable_Option ([MainTableID],[OptionID])
SELECT ID, (CASE WHEN OptionVal1 = 'y' THEN
(SELECT OptionID
FROM Option
WHERE OptionDesc = 'OptionVal1') END
FROM DodgyOldTable

如果可能的话,我想避免使用几个不同的select语句来执行插入操作。

alt text http://www.freeimagehosting.net/uploads/863f10bf5f.jpg

最佳答案

INSERT 
MainTable_Option
(
MainTableID,
OptionID
)
SELECT
d.ID,
o.OptionId
FROM
DodgyOldTable d
INNER JOIN Option o ON
(d.OptionVal1 = 'Y' AND o.OptionDesc = 'OptionVal1') OR
(d.OptionVal2 = 'Y' AND o.OptionDesc = 'OptionVal2') OR
(d.OptionVal3 = 'Y' AND o.OptionDesc = 'OptionVal3')

关于sql - 使用SELECT执行INSERT以插入多个记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/601906/

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