我有一个包含以下列的表:
seq_no | detail_no | user_id | guid_key
和另一个表格如下:
头| guid_key | date_entered | login_details | summary_transaction |拖车
现在我希望将两个表格映射在一起,以便最终答案是这样的:
第一行应该是header中的值,后续行应该是seq_no,detail_no和user_id中的值。将有多行seq_no,detail_no和user_id。最后一行应该是预告片。
第一个表包含多行,我需要在第二个表中引用多行。我是SQL编程的新手。我已经找到了许多关系,但我找不到有效的方法来做到这一点。我正在使用guid生成器为这两个表写入唯一键。但是,它们的键不是每行唯一,而是一组行 - >喜欢一组数据。
答案 0 :(得分:0)
SQL不是一种演示工具,而是您在此尝试实现的工具。您还尝试将两个结果集作为一个结果集存在(您希望表2中的列在表2中的某些行上显示在其他行上)。
你可以这样做create table #temp (ID int identity(1,1), col1 varchar(200), col2 varchar(200) etc.)
insert into #temp col1, col2, etc values (select seq_no, guid_key, detail_no, user_id from table1)
insert into #temp col1, col2 etc. values (select seq_no, guid_key, header, date_entered, login_details, summary_transaction from table1 inner join table2 on table1.guid_key = table2.guidkey where trailer is null)
insert into #temp col1, col2 etc. values (select seq_no, guid_key, trailer, date_entered, login_details, summary_transaction from table1 inner join table2 on table1.guid_key = table2.guidkey where trailer is not null)
select * from #temp order by col1, ID
因此,首先输入所有标题,然后输入详细信息,然后输入预告片。因此,当您通过seq_no和ID订购时,它们将以所需的顺序出现。