三张表几个相同的字段(别的字段不同)能否合并成一张视图?

fanshow 2007-11-07 12:35:15
三张表几个相同的字段(别的字段不同)能否合并成一张视图?

如:
tableA (AA,B,C,D,EA,FA,GA)
tableB (BA,B,C,D,EB,FB,GB)
tableC (CA,B,C,D,EC,FC,GC)

如何把 B,C,D全合并到一个新视图里面? B,C,D只是对应的数据类型相同,列名不一定相同
...全文
283 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
超级大笨狼 2008-03-19
  • 打赏
  • 举报
回复
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<TITLE></TITLE>
</HEAD>
<BODY>
用inner Join可以做到一个表返回纪录,速度要快些。<br/>

select * from 主表 inner Join 从表 on 主表.外键=从表.id<br/>

如果要显示上合并行,可以在客户端合并<br/>

<TABLE WIDTH=75% BORDER=1 CELLSPACING=1 CELLPADDING=1 id="tb">
<TR id="row">
<TD id="td">1</TD>
<TD>a</TD>
<TD>b</TD>
</TR>
<TR>
<TD>1</TD>
<TD>c</TD>
<TD>d</TD>
</TR>
<TR>
<TD>1</TD>
<TD>c</TD>
<TD>d</TD>
</TR>
<TR>
<TD>2</TD>
<TD>e</TD>
<TD>f</TD>
</TR>
<TR>
<TD>2</TD>
<TD>e</TD>
<TD>f</TD>
</TR>
<TR>
<TD>2</TD>
<TD>e</TD>
<TD>f</TD>
</TR>
<TR>
<TD>2</TD>
<TD>e</TD>
<TD>f</TD>
</TR>
</TABLE>
<SCRIPT LANGUAGE=javascript>


var Rows=document.getElementById("tb").rows;
var Col=1;//这个是要合并的第几列;
var lastValue;

for(i=0;i<Rows.length;i++)
{
lastValue=Rows[i].cells[Col-1].innerHTML;
var same=1;

while(lastValue==Rows[i+same].cells[Col-1].innerHTML )
{
Rows[i+same].removeChild(Rows[i+same].cells[Col-1]);
same+=1;
if((i+same)==Rows.length )
{
break;
}
}

Rows[i].cells[Col-1].rowSpan=same;
i=i+same-1;
}
</SCRIPT>


</BODY>
</HTML>
kings2015 2007-11-07
  • 打赏
  • 举报
回复
查一下union 使用
kings2015 2007-11-07
  • 打赏
  • 举报
回复
select * from tableA
union
select * from tableB
union
select * from tableC

如果字段类型相同 应该可以
fanshow 2007-11-07
  • 打赏
  • 举报
回复
tableA

1 you1 me1 she1 aaa bbb ccc
2 boy1 girl1 man1 eiu eo ew

tableB

1 you2 me2 she2 aaa bbb ccc
2 boy2 girl2 man2 eiu eo ew

tableC

1 you3 me3 she3 aaa bbb ccc
2 boy3 girl3 man3 eiu eo ew

想获得结果为:

you1 me1 she1
boy1 girl1 man1
you2 me2 she2
boy2 girl2 man2
you3 me3 she3
boy3 girl3 man3
lishijie910123 2007-11-07
  • 打赏
  • 举报
回复
这个问题我解决不了,
学习一下
等待高手
fanshow 2007-11-07
  • 打赏
  • 举报
回复
对了,表之间没有关系


fanshow 2007-11-07
  • 打赏
  • 举报
回复
终于搞定了

SELECT ListID AS ID, AccountID, CustomerID, LinkMan, NewChance, NCState, 'E' AS ChanceType, InputTime
FROM dbo.Event_List
WHERE (NewChance <> '')
UNION
SELECT OutID AS ID, AccountID, CustomerID, LinkMan, NewChance, NCState, 'o' AS ChanceType, InputTime
FROM dbo.Out_List
WHERE (NewChance <> '')
UNION
SELECT ChanceID AS ID, AccountID, 0 AS CustomerID, Linkman, NewChance, NCState, 'C' AS ChanceType, InputTime
FROM dbo.Chance_List
伴老思源 2007-11-07
  • 打赏
  • 举报
回复
重命名字段,或加标识
fanshow 2007-11-07
  • 打赏
  • 举报
回复
我实验一下看看
sqllong 2007-11-07
  • 打赏
  • 举报
回复
select  B,C,D  from   tableA 
union
select B,C,D from tableB
union
select B,C,D from tableC
wanghui0380 2007-11-07
  • 打赏
  • 举报
回复
关键字 as

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧