Sql server 在一行中插入数据,每行中都有未定义的值

Sql server 在一行中插入数据,每行中都有未定义的值,sql-server,Sql Server,我有一个表,有几个列Name、stage1、stage2、stage3、stage4、stage5。现在我想在这些列中插入值,但每次在表中插入新行时,每行下要输入的阶段数都未定义,例如:- 假设第1行定义了stage1和stage2的值,第2行定义了stage1、stage2、stage3和stage4的值,依此类推 问题 我无法在表中插入新行,因为每个名称的值分布不均匀。您基本上希望对非结构化数据使用关系数据库。我认为这是因为您标记了SQL Server 这就是documentdbs或nosq

我有一个表,有几个列
Name、stage1、stage2、stage3、stage4、stage5
。现在我想在这些列中插入值,但每次在表中插入新行时,每行下要输入的阶段数都未定义,例如:-

假设第1行定义了stage1和stage2的值,第2行定义了stage1、stage2、stage3和stage4的值,依此类推

问题
我无法在表中插入新行,因为每个名称的值分布不均匀。

您基本上希望对非结构化数据使用关系数据库。我认为这是因为您标记了SQL Server

这就是documentdbs或nosqldbs的设计目的

但是,如果需要,可以通过将数据存储在单个列中来模拟这一点。在该列中,可以存储JSON或XML。JSON将很难查询,但SQL Server确实支持可以使用XPath查询的XML字段类型


另一个选项是将数据旋转90度。而不是每个阶段都是一列阶段1、阶段2、阶段3。。。。为每个阶段创建一行。每行都有一个stageNumber字段或类似的字段。您可以稍后透视此数据,以便在Excel或其他透视表中以列的形式显示它。

您需要提供更多信息。例如,您如何不知道要插入的内容?此外,您的表结构看起来。。。贫穷的你真的只有5个这样的栏目吗?如果是这样,您应该考虑适当地规范化您的数据库。这样做将有助于防止因设计不当而导致的未来问题。我同意@DeadZone 100%。您的结构有重复的列,这很难处理。正如您所发现的,仅插入第4个元素是困难的。这是您需要重建的设计。考虑当应用程序工作时需要发生什么,需要添加第六个阶段。你必须编辑所有内容。如果你有正确的标准化数据结构,它就像添加一个新行一样简单。那么我要做的是,你能提供一些示例数据吗?您可以重新处理数据结构以插入数量一致的值,每个值仅表示一个数据元素,但首先要查看当前数据结构中的示例数据。您不能这样做。您可以使用一个
INSERT
,将值(可能是
NULL
)插入到表的所有列中,或者您需要指定要插入的列-您不能插入到“未知”或“未命名”列中。。。