Sql 在具有1个静态列的表中插入多行
我有一个这样的表列结构Sql 在具有1个静态列的表中插入多行,sql,sql-server,Sql,Sql Server,我有一个这样的表列结构 [姓名、日期、金额] 我选择了我需要的所有名称,所以我有多行数据如下 [SomeName,NULL,NULL] 我想为每个名字添加7个DateNames,是否可以使用类似外部应用的东西?我要指出的是,我插入的表格是很有诱惑力的 这是我想合并的两个表的打印件,因此对于每个名称,我想添加所有7天我相信您可以对每个名称使用交叉连接 就这样 SELECT t1.NAME,WeekD.DayName FROM [YourTable] AS t1 CROSS JOIN (
我选择了我需要的所有名称,所以我有多行数据如下[姓名、日期、金额]
[SomeName,NULL,NULL]
这是我想合并的两个表的打印件,因此对于每个名称,我想添加所有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
OUTER APPLY就是答案。我的朋友帮了我,它返回了所需的值,感谢大家的尝试,但我认为这是最好的解决方案。样本数据和所需的结果确实会有帮助。我认为他希望自己有一个相当棘手的完全外部联接,这是我从未做过的,尤其是在日期范围内,但除非他confirms@GordonLinoff我在问题中添加了数据的prntscr,tnx用于编辑我的问题,即
DateName
aVarChar
,Date
或DateTime
字段?我想你误解了SQL数据库的工作原理,然而,我想你可以做到这一点,但它的烦躁我不知道为什么我得到-1,但可能是因为我没有解释我的问题,对不起,如果是这样的话。。。
INSERT INTO #FinalTable ([Name],[DateName])
SELECT [Name],DN.[DateName]
FROM OrganizationUnit
OUTER APPLY (SELECT [DateName] FROM #DateName) DN