如何在单个View中加入两个视图在sql中?
我有两个意见我要合并到单一视图,例如如何在单个View中加入两个视图在sql中?
查看1被定义为:
CREATE VIEW view2
AS
select DV.valueId, DV.value,E.ElementId,E.name,
ES.ElementSetGroupId,ET.entryId,ET.name as E_Name,
ET.SystemDateTime,C.compositionId,C.linkSetRef
from DataValue DV
inner join Element E
on DV.valueId=E.valueRef
inner join ElementSet ES
on E.ElementId=ES.ElementRef
inner join Entry ET
on ES.elementSetGroupId=ET.elementSetGroupRef
inner join EntrySet ESG
on ESG.entryRef=ET.entryId
inner Join Section S
on s.entrySetGroupRef=ESG.entrySetGroupId
inner join SectionSet SS
on SS.sectionRef=S.sectionId
where S.name='Appointment'
如何将它们结合起来:
CREATE VIEW view1 AS
select DV.demValueId,DV.value,DE.demElementId,DE.name,
DES.demElementSetGroupId,DR.demRecordId,DR.name as Role,
DR.demClusterSetGroupRef,L.EmailId
from DemographicsDataValue DV
inner join DemographicsElement DE
on DV.demValueId=DE.demValueRef
inner join DemographicsElementSet DES
on DE.demElementId=DES.demElementRef
inner join DemographicsRecord DR
on DR.demElementSetGroupRef=DES.demElementSetGroupId
inner join LoginDetail L
on DR.demRecordId=L.demRecordIdRef
查看2被定义成单一视图 select * from View1 选择* from View2
输出成单查询
请帮忙
如果您有同质性列,请使用union
。否则,在适当的领域,需要
SELECT *
FROM view1
INNER JOIN view2 ON view1.id = view2.ref;
更多细节知道哪些加入使用,并在其领域的应用Join
。
我有不同的列名称与不同的值在两个视图中,他们不匹配each.then我做 –
@SarfarazAli请显示您的视图的列和数据类型和您的预期输出,否则我们只是猜测! –
In view1查询为“从DemographicsDataValue DV内部加入DemographicsElement中选择DV.demValueId,DV.value,DE.demElementId,DE.name,DES.demElementSetGroupId,DR.demRecordId,DR.name as Role,DR.demClusterSetGroupRef,L.EmailId DE on DV.demValueId = DE.demValueRef内部连接DemographicsElementSet DES上的DE.demElementId = DES.demElementRef内部连接DemographicsRecord DR on DR.demElementSetGroupRef = DES.demElementSetGroupId内部连接LoginDetail L上DR.demRecordId = L.demRecordIdRef“ –
,如果你想在公共字段,你可以这样做:
select * FROM View1
inner join View2 -- or you can do a left join here
on View1.Column = View2.Column -- and ... add more if needed
如果表结构上是相同的,你不关心重复,如果你关心的重复,那么你可以做一个union all
union
select * from View1
union all
select * from View2
@ CM @ K:在我的两个视图中都有不同的列名,其值不同 –
列在每个视图中是否相同?假设是这样,使用'union' ... – sgeddes
没有两个视图有不同的列 –
将它们视为表并将它们连接到适当的字段。 –