You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用SELECT语句无INSERT构建表 解决查询返回6列需输出3列问题

你目前的写法是把两组数据都定义在了同一条SELECT语句的输出列中,所以最终会返回6列结果。要实现3列多行的结构,只需要把不同行的数据拆为独立的SELECT子句,用UNION ALL拼接即可,全程不需要执行INSERT操作。

修改后的SQL语句如下:

DECLARE @MetresPerMile FLOAT = 1609.344;
DECLARE @LOCStart1 GEOGRAPHY = GEOGRAPHY::Point(48.83000,-97.31000,4326)
DECLARE @LOCDest1 GEOGRAPHY = GEOGRAPHY::Point(48.83000,-97.31000,4326)
DECLARE @LOCStart2 GEOGRAPHY = GEOGRAPHY::Point(22.9230000,-94.5342000,4326)
DECLARE @LOCDest2 GEOGRAPHY = GEOGRAPHY::Point(22.9230000,-94.5342000,4326)

SELECT 
    '1' AS [Start], 
    '1' AS [Dest], 
    @LOCStart1.STDistance(@LOCDest1) / @MetresPerMile AS [Distance]
UNION ALL
SELECT 
    '2' AS [Start], 
    '2' AS [Dest], 
    @LOCStart2.STDistance(@LOCDest1) / @MetresPerMile AS [Distance]

如果后续需要新增更多行数据,只需要继续追加UNION ALL + 对应SELECT子句即可。

内容的提问来源于stack exchange,提问作者suhabari

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.10 05:45:02