使用1个静态列将多行插入表中

问题描述 投票:-1回答:2

我有这样的表列结构

  • [ Name , DateName , Sum ] 我选择了我需要的所有名称,因此我有多行包含这样的数据
  • [ SomeName , NULL , NULL ]

我想为每个Name添加7个DateNames,是否可以使用类似外部的东西?只是指出我插入的表是#temptable

这里有2个表的打印我想结合http://prntscr.com/ikv213所以每个名字我想要添加所有7天

sql sql-server
2个回答
1
投票

我相信你可以在7天内为每个名字使用CROSS JOIN

像这样。

SELECT t1.NAME,WeekD.DayName
FROM [YourTable] AS t1 CROSS JOIN
(
    SELECT 'Monday' AS DayName
    UNION
    SELECT 'Tuesday' AS DayName
    UNION
    SELECT 'Wednesday' AS DayName
    UNION
    SELECT 'Thurthday' AS DayName
    UNION
    SELECT 'Firday' AS DayName
    UNION
    SELECT 'Saturday' AS DayName
    UNION
    SELECT 'Sunday' AS DayName
)AS WeekD

-1
投票
    INSERT INTO #FinalTable ([Name],[DateName]) 
    SELECT [Name],DN.[DateName] 
    FROM OrganizationUnit 
    OUTER APPLY (SELECT [DateName] FROM #DateName) DN

外面的应用是答案。我的朋友帮助了我,它返回了所需的价值,感谢所有的尝试,但我认为这是最好的解决方案。

© www.soinside.com 2019 - 2024. All rights reserved.