是否有可能在一行中插入多个项目,然后一个接一个地返回它们?
本文关键字:一个 然后 返回 有可能 一行 是否 插入 项目 | 更新日期: 2023-09-27 17:50:03
我正在使用这个Sql命令
INSERT INTO SAMPLES (reportno, samplename, analysisname)
VALUES (1, 'Lemon', 'ecobali1,ecobali2,ecobali3)
我的结构将是:
REPORT NO : 1
SAMPLE : LEMON
ANALYSIS
Ecobali1
Ecobali2
Ecobali3
稍后,我需要逐个获取analysisname来输入详细信息;
SELECT * FROM SAMPLES WHERE reportno =1
我的问题是:
有可能发展这样的结构吗?
我被困在这里,因为我需要向一行添加多个值并逐个获取它们
我可以在这里使用TVP吗?怎么使用?
尝试在表的一行中存储多个值并不是一个很好的实践。您应该对每行使用一组值就可以了,因为存储成本很低。如果您希望有一个插入语句,您可以通过添加到VALUES
子句中来插入多行。我在这里找到了说明,并复制了下面的示例:
INSERT INTO Table ( Column1, Column2 ) VALUES ( Value1, Value2 ), ( Value1, Value2 )
是的,您可以将数据以这种扁平结构保存在单个表中,但不是以一种好的方式。
- 添加操作
analysisname
的努力 SQL查询数据分析困难
您应该创建一个Master和Detail表,其中Detail表存储analysisname
我看到的是,您应该创建另一个名为analysis
的表
analysis((primary)analysisID,analysisname,analysisdesc);
SAMPLES((primary)reportNo,samplename,analysisID(foreign));
这两个表将创建一个关系one sample with zero or more analysis