问题补充:

zhaoxiaoyang5156 2007-08-04 07:40:00
回答 下列问题,请先看下面的网址起:
http://community.csdn.net/Expert/topic/5692/5692333.xml?temp=.4661524

俺要的是标准答案,答不出标准的答案的也请顶一下。答的出的不想答的也请顶,请不要发提醒的。或网址什么的。谢谢合作。(进来的朋友。请顶一下哦。)

如果是下面的数据
"Persons" 表:
编号 LastName FirstName Address City
001 Hansen Ola Timoteivn 10 Sandnes
002 Svendson Tove Borgvn 23 Sandnes
003 Pettersen Kari Storgt 20 Stavanger

"Orders"表:
编号 Company OrderNumber
001 Sega 2312
001 W3School 2312
001 Trio 4678
002 W3School 6798


查询的结果是:
编号 Company OrderNumber
001 Sega,W3School,Trio 2312,4678
002 W3School 6798
003

不同的地方是,,当合并的数据相同时候,,只出现一次。
如:
001 Sega 2312
001 W3School 2312

2312 出现了二次

但是查找的结果。
001 Sega,W3School,Trio 2312,4678

的2312 出现一次。。看那位路过的朋友,能解答。(加大了难度哦。)
...全文
166 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhaoxiaoyang5156 2007-08-08
  • 打赏
  • 举报
回复
是啊。。下次有問題 ,請你接分。嘿嘿。
juntor 2007-08-07
  • 打赏
  • 举报
回复
来迟了啊.呵呵

我是先回答了你的第一个问题.
再过来看看的呢.
paoluo 2007-08-06
  • 打赏
  • 举报
回复
:)



--創建測試環境
Create Table Persons
(编号 Char(3),
LastName Varchar(20),
FirstName Varchar(20),
Address Varchar(20),
City Varchar(20))
Insert Persons Select '001', 'Hansen', 'Ola', 'Timoteivn 10', 'Sandnes'
Union All Select '002', 'Svendson', 'Tove', 'Borgvn 23', 'Sandnes'
Union All Select '003', 'Pettersen', 'Kari', 'Storgt 20', 'Stavanger'

Create Table Orders
(编号 Char(3),
Company Varchar(20),
OrderNumber Int)
Insert Orders Select '001', 'Sega', 2312
Union All Select '001', 'W3School', 2312
Union All Select '001', 'Trio', 4678
Union All Select '002', 'W3School', 6798
GO
--測試
--问题一
select * from Persons where LastName='Hansen'
union all
select * from Persons where LastName='Hansen'
union all
select * from Persons where LastName='Hansen'
union all
select * from Persons where LastName='Hansen'
GO

--問題二
--創建函數
Create Function F_Get_Orders(@编号 Char(3), @Flag Bit)
Returns Varchar(8000)
As
Begin
Declare @S Varchar(8000)
Select @S = ''
If(@Flag = 0)
Select @S = @S + ',' + Company From Orders Where 编号 = @编号 Order By OrderNumber
Else
Select @S = @S + ',' + Cast(OrderNumber As Varchar(100)) From Orders Where 编号 = @编号 Group By OrderNumber
Select @S = Stuff(@S, 1, 1, '')
Return @S
End
GO
--調用
Select 编号, dbo.F_Get_Orders(编号, 0) As Company, dbo.F_Get_Orders(编号, 1) As OrderNumber From Persons
GO
--刪除測試環境
Drop Table Persons, Orders
Drop Function F_Get_Orders
GO
--結果
/*
--问题一結果
编号LastNameFirstNameAddressCity
001HansenOlaTimoteivn 10Sandnes
001HansenOlaTimoteivn 10Sandnes
001HansenOlaTimoteivn 10Sandnes
001HansenOlaTimoteivn 10Sandnes

--问题二結果
编号CompanyOrderNumber
001Sega,W3School,Trio2312,4678
002W3School6798
003NULLNULL
*/



zhaoxiaoyang5156 2007-08-06
  • 打赏
  • 举报
回复
請juntor() ,paoluo 二為大俠 來接分。
zhaoxiaoyang5156 2007-08-06
  • 打赏
  • 举报
回复
謝謝 樓上 二位。請到 上面的網址 接分。
lishijie910123 2007-08-04
  • 打赏
  • 举报
回复
顶一下

62,243

社区成员

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

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

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

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