使用1个静态列

时间:2018-02-28 11:37:11

标签: sql sql-server

我有像这样的表格列结构

  • [ Name , DateName , Sum ]

    我选择了我需要的所有名字,所以我有多行包含这样的数据

  • [ SomeName , NULL , NULL ]

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

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

2 个答案:

答案 0 :(得分:1)

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

就像这样。

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 :(得分:-1)

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

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