DJ的是一个很好的解决方案,但可以简化(见下文)。
为什么它需要成为一个单一的陈述?
出了什么问题:
insert into #MapTable (category,code) values ('Foo','AAAAA')
insert into #MapTable (category,code) values ('Foo','BBBBB')
insert into #MapTable (category,code) values ('Foo','CCCCC')
insert into #MapTable (category,code) values ('Bar','AAAAA')
对我来说这是非常容易阅读和维护。
简体DJ的解决方案:
CREATE TABLE #MapTable (Category varchar(40), Code char(5))
INSERT INTO #MapTable (Category, Code)
SELECT 'Foo', 'AAAAA'
UNION
SELECT 'Foo', 'BBBBB'
UNION
SELECT 'Foo', 'CCCCC'
SELECT * FROM #MapTable
有没有什么不妥的DJ,只觉得过于复杂了我。
从OP:
我试图解决的问题是没有这么多维持到一个声明,因为它 试图避免重新输入在类别名称和过度。
我觉得你的痛苦 - 我也试图找到这样的捷径,并意识到当我解决问题时,我可以长时间输入它。
如果我有很多重复的数据输入,我有时会使用Excel为我生成插入代码。将类别放在一列中,将代码放在另一列中;使用所有的有用的复制技术来完成这个艰难的工作
然后
="insert into #MapTable (category,code) values ('"&A1&"','"&B1&"')"
在第三排
,我已经生成的你插入
当然,所有这一切都是假设分类而代码不能从系统表中提取。
这不是一个声明,因为它避免了重复输入类别一遍又一遍。 – 2008-10-28 18:28:36