请问各位大哥,谢谢

jackbaby 2005-06-22 10:10:16
两个不相干表,我想从中取出数据,在一个报表中显示
如果是两个表join的话,可能出现很多的重复数据(相对某些列)

所以我想用一个dataset来联合连个表(用两个element项),把他们结合起来,请问这样可以吗??没有成功

请问有什么好其他方法实现这样的要求吗??谢谢各位大哥了,谢谢
...全文
62 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
marvelstack 2005-06-23
  • 打赏
  • 举报
回复
可以试式两次查询得到的两个记录集填充到DataSet的表中。
jackbaby 2005-06-22
  • 打赏
  • 举报
回复
谢谢,使用视图一样的道理啊??
我用存储过程建立了临时表如下:





/*代理中心库月度发出分配表一*/

CREATE PROCEDURE sp_ReplaceSaleOne
(
@BeginTime datetime,
@EndTime datetime
)
AS


-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
/*这里分为两个临时表*/
/*下面这个表的是为老产品的临时表建立的*/
SELECT p.CorpID,Company.CorpName,p.DeptID,Dept.DeptName , --p.ProductID, p.ProductName,p.ep1,
SortBig.BigName,SortBig.BigID,SortSmall.SmallName, p.SmallID, --g.SaleNoteID,
h.CustID,h.CustName,sum(i.Amount) as Amount, Sum(i.Price*i.Amount) as SaleMoney
into #t FROM dbo.SaleNoteItem i INNER JOIN
dbo.Product p ON p.ProductID = i.ProductID INNER JOIN
dbo.SaleNote g ON g.SaleNoteID = i.SaleNoteID INNER JOIN
dbo.Customer h ON h.CustID = g.CustID
INNER JOIN
dbo.SortSmall ON dbo.SortSmall.BigID = p.bigid AND
dbo.SortSmall.SmallID = p.smallid INNER JOIN
dbo.SortBig ON dbo.SortBig.BigID = p.bigid INNER JOIN
dbo.Dept ON Dept.DeptID = p.deptid INNER JOIN
dbo.Company ON Company.CorpID = p.corpid
where g.flag=0 --and AuditDate>@BeginTime and AuditDate<@EndTime
group by p.CorpID,Company.CorpName,p.DeptID,Dept.DeptName ,
SortBig.BigName,SortBig.BigID,SortSmall.SmallName, p.SmallID,--g.SaleNoteID,
h.CustID,h.CustName



select x.CorpID,x.CorpName,x.DeptID,x.DeptName , --p.ProductID, p.ProductName,p.ep1,
x.BigName,x.BigID, --g.SaleNoteID,
x.CustID,x.CustName,Sum(x.nSaleMoney) as nSaleMoney,Sum(x.zSaleMoney) as zSaleMoney,
Sum(x.dSaleMoney) as dSaleMoney
into #t1 from(
select CorpID,CorpName,DeptID,DeptName , --p.ProductID, p.ProductName,p.ep1,
BigName,BigID,SmallName, SmallID, --g.SaleNoteID,
CustID,CustName,Sum(SaleMoney) as nSaleMoney,0 zSaleMoney,0 dSaleMoney
from #t where SmallName!='2222' and SmallName!='333'
group by CorpID,CorpName,DeptID,DeptName ,
BigName,BigID,SmallName, SmallID,
CustID,CustName
union all
select CorpID,CorpName,DeptID,DeptName , --p.ProductID, p.ProductName,p.ep1,
BigName,BigID,SmallName, SmallID, --g.SaleNoteID,
CustID,CustName,0 nSaleMoney,Sum(SaleMoney) as zSaleMoney,0 dSaleMoney
from #t where SmallName='333'
group by CorpID,CorpName,DeptID,DeptName , --p.ProductID, p.ProductName,p.ep1,
BigName,BigID,SmallName, SmallID, --g.SaleNoteID,
CustID,CustName
union all
select CorpID,CorpName,DeptID,DeptName , --p.ProductID, p.ProductName,p.ep1,
BigName,BigID,SmallName, SmallID, --g.SaleNoteID,
CustID,CustName,0 nSaleMoney,0 zSaleMoney,Sum(SaleMoney) as dSaleMoney
from #t where SmallName='2222
group by CorpID,CorpName,DeptID,DeptName , --p.ProductID, p.ProductName,p.ep1,
BigName,BigID,SmallName, SmallID, --g.SaleNoteID,
CustID,CustName
) x
group by x.CorpID,x.CorpName,x.DeptID,x.DeptName , --p.ProductID, p.ProductName,p.ep1,
x.BigName,x.BigID, --g.SaleNoteID,
x.CustID,x.CustName





--静态交叉表
select identity(int,1,1) as Iid,t.CorpID,t.CorpName,t.DeptID,t.DeptName,t.CustID,t.CustName,
sum(case BigName when 'li' then nSaleMoney else 0 end) as nSaleMoney,
sum(case BigName when 'li' then zSaleMoney else 0 end) as zSaleMoney,
sum(case BigName when 'li' then dSaleMoney else 0 end) as dSaleMoney,

sum(case BigName when 'l2' then nSaleMoney else 0 end) as ep10,
sum(case BigName when 'l2' then zSaleMoney else 0 end) as ep11,
sum(case BigName when 'l2' then dSaleMoney else 0 end) as ep12

into #t2 from #t1 t
group by t.CorpID,t.CorpName,t.DeptID,t.DeptName,t.BigName,t.CustID,t.CustName


select * from #t2
--------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
/*这里分为两个临时表*/
/*下面这个表的是为新产品的临时表建立的*/
select kk.Amount,kk.newstockpricetx,(kk.Amount*kk.newstockpricetx) as totalprice,mm.bigid,mm.bigname
into #temp2
from
(
select aa.Amount,bb.newstockpricetx,(aa.Amount*bb.newstockpricetx) as totalprice,bb.bigid
from
(
select distinct p.productid, p.Amount from inventorylog p where (p.notetypeid='1' or p.notetypeid='0') --and datediff(day,p.notedate,getdate()-7)<=0
and p.notedate > '2005-5-3' and p.notedate < '2005-6-3'
and p.productid not in
(
select distinct b.productid from inventorylog b where (b.notetypeid='1' or b.notetypeid='0')
and b.notedate <'2005-5-3'
)
) aa, product bb where aa.productid = bb.productid
) kk, sortbig mm where mm.bigid = kk.bigid


--静态交叉表
select totalprice,
sum (case bigname when '例1'then totalprice else 0 end) as XStotalprice,
sum (case bigname when '例2'then totalprice else 0 end) as QBtotalprice

into #temp22 from #temp2
group by totalprice

select * from #temp22


-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
drop table #temp22
drop table #temp2

drop table #t
drop table #t1
drop table #t2
GO


上面,我建立了两个不相干的临时表,我想在同一个dataset中描叙,在同一个报表中显示出来,我这样试了,没有成功,请问各位大哥,有什么好的办法吗??其他方法也可以,谢谢各位了


注:
本来我想联合这两个表的,但是会出现重复数据,没有行的通,如下:
select a.*,b.* from #temp22 a, #t2 b


谢谢各位大哥了,谢谢
掐死温柔 2005-06-22
  • 打赏
  • 举报
回复
使用视图
掐死温柔 2005-06-22
  • 打赏
  • 举报
回复
使用视图

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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