gpt4 book ai didi

sql - 将多个 select 语句作为值插入表中

转载 作者:行者123 更新时间:2023-12-03 01:57:30 28 4
gpt4 key购买 nike

是否可以在 SQL Server 中执行类似的操作:

INSERT INTO MyTable (Col1,Col2,Col3,Col4,Col5,Col6,Col7) VALUES

SELECT Col1 FROM Func1(),

SELECT Col2 FROM Func2(),

SELECT Col3,Col4,Col5 FROM Func3(),

SELECT Col6 FROM Func4(),

SELECT Col7 FROM Func5()

我有大量返回单值结果的函数和一个返回 3 列的函数。我想将所有这些数据插入到表的一行中?

我可以看到返回多个列的函数可能存在问题?

最佳答案

如果所有函数只返回一行...

INSERT INTO
MyTable (Col1,Col2,Col3,Col4,Col5,Col6,Col7)
SELECT
f1.col1, f2.col2, f3.col3, f3.col4, f3.col5, f4.col6, f5.col7
FROM
(SELECT Col1 FROM Func1()) AS f1
CROSS JOIN
(SELECT Col2 FROM Func2()) AS f2
CROSS JOIN
(SELECT Col3,Col4,Col5 FROM Func3()) AS f3
CROSS JOIN
(SELECT Col6 FROM Func4()) AS f4
CROSS JOIN
(SELECT Col7 FROM Func5()) AS f5

如果函数返回多行,则需要以正常方式连接它们;使用谓词确定哪个左行连接到哪个右行。

关于sql - 将多个 select 语句作为值插入表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10850328/

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