Sql server 一个查询中的多个选择-一个基于另一个
我想从一个查询返回多个结果集,并假设第二个选择基于第一个。基本上我需要返回: 表1 身份证,姓名 表2 ID、名称、值、表1ID 我认为连接这些表是不可能的,因为表2可能包含表1中同一行的多个项目 是否有任何高效和性能明智的方法可以做到这一点?也许用CTE @编辑 样本数据:Sql server 一个查询中的多个选择-一个基于另一个,sql-server,tsql,Sql Server,Tsql,我想从一个查询返回多个结果集,并假设第二个选择基于第一个。基本上我需要返回: 表1 身份证,姓名 表2 ID、名称、值、表1ID 我认为连接这些表是不可能的,因为表2可能包含表1中同一行的多个项目 是否有任何高效和性能明智的方法可以做到这一点?也许用CTE @编辑 样本数据: Table 1: ID Name 1 First 2 Second Table 2: ID Value Table1ID 1 2,25 1 2 2,45
Table 1:
ID Name
1 First
2 Second
Table 2:
ID Value Table1ID
1 2,25 1
2 2,45 1
3 1,94 2
4 2,12 3
我需要的结果是数据集,我使用C,所以我在这里使用C语法
DataSet.Tables(0)
ID Name
1 First
2 Second
DataSet.Tables(1)
ID Value Table1ID
1 2,25 1
2 2,45 1
3 1,94 2
稍后我将不得不合并这两个表,因为与表1相关的类包含值列表。我想知道是否应该改为使用SQL Join,然后将结果转换为查找,其方式要比返回两个表并且查找实例中只有第二个表更复杂?这样如何:
对于DataSet.0:
对于DataSet.Table1:
尝试向我们展示一些示例数据和最终预期结果。我认为,适当的加入将解决您的问题。但首先尝试提供一些样本数据和预期结果。添加样本数据和预期结果。我实际上是这样做的:我只是希望可以做得更好。不过我还是这样吧。谢谢!
select ID, Name
from Table1
select Table2.ID, Table2.Value, Table2.Table1ID
from Table2
inner join Table1 on Table2.Table1ID = Table1.ID