| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1189 人关注过本帖
标题:一个问题想好了好久了,不知怎么样弄???
只看楼主 加入收藏
史前大暴龙
Rank: 1
等 级:新手上路
帖 子:375
专家分:0
注 册:2005-11-22
收藏
 问题点数:0 回复次数:12 
一个问题想好了好久了,不知怎么样弄???
我有两个表,一个表为 A(id,name) (A表中的信息不确定)
另一表为 B(id,aa,bb,cc,dd,ee)
其中两张表中的id是关联的,现在A中有N条信息,我想将所有B的某几列的信息用个筛选条件A.id=B.id进行筛选,然后B中符合条件的信息用一行显示出来,那要怎么样做啊??
例如:
id aa bb cc id aa bb cc ....
----------------------------------------
1 a b c 2 b c d ....
(B表中的第一条信息) (第二条信息) ...(第N条信息)

[此贴子已经被作者于2007-4-23 16:34:16编辑过]

搜索更多相关主题的帖子: color 
2007-04-23 16:32
史前大暴龙
Rank: 1
等 级:新手上路
帖 子:375
专家分:0
注 册:2005-11-22
收藏
得分:0 
唉,哪位大佬会的就请告诉我一下啊,谢谢了

我不是最好,但我可以更好,大家一起加油了
2007-04-23 21:26
xiyou419
Rank: 1
等 级:新手上路
威 望:2
帖 子:104
专家分:0
注 册:2007-3-18
收藏
得分:0 

不知道这样对不对,如果能查出结果,也比你要的多了一个信息,会把id为1的显示两遍,不过其他我就想不出了.
select top 1 * from ((select * from B where B.id=A.id) as BA inner join BA) as BB


道德往往可以弥补智慧的缺陷;但智慧永远不能填补道德的空白.
2007-04-23 22:05
cyyu_ryh
Rank: 8Rank: 8
等 级:贵宾
威 望:45
帖 子:1899
专家分:176
注 册:2006-10-21
收藏
得分:0 
用左连接

有事无事都密我. MSN: cyyu_ryh@hotmail.co.jp E-mail: cyyu_ryh@
2007-04-24 11:26
Kendy123456
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:62
帖 子:2720
专家分:0
注 册:2007-1-3
收藏
得分:0 

似乎只能用游标拼sql语句


2007-04-24 14:20
史前大暴龙
Rank: 1
等 级:新手上路
帖 子:375
专家分:0
注 册:2005-11-22
收藏
得分:0 
那个问题在程序中用了个Table弄成了

我不是最好,但我可以更好,大家一起加油了
2007-04-24 21:41
棉花糖ONE
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:32
帖 子:2987
专家分:0
注 册:2006-7-13
收藏
得分:0 

你的记录数不能确定你怎么用table搞出来的


26403021 sql群 博客 blog./user15/81152/index.shtml
2007-04-25 00:00
初学Delphi
Rank: 3Rank: 3
等 级:新手上路
威 望:9
帖 子:330
专家分:0
注 册:2006-4-4
收藏
得分:0 

不知道楼主是不是这个意思?
use
ceshi
if object_id('a') is not null
drop table a
if object_id('b') is not null
drop table b

create table a(id int identity(1,1),name varchar(10))
create table b(id int identity(1,1),aa varchar(10),bb varchar(10),cc varchar(10))


insert into a select '徐强' union all select '小棉花' union all select '小会计'

insert into b select 'a','b','c' union all select 'a1','bsa','c1' union all select 'a2','b2','c2' union all select 'a3','b3','c3' union all select 'a4','b4','c4' union all select 'a5','b5','c5'

select * from a
select * from b


declare @t table (name varchar(10),aa varchar(10),bb varchar(10),cc varchar(10))
insert into @t select a.name,b.aa,b.bb,b.cc from a,b where a.id=b.id
declare @a varchar(1000)
set @a='select '
select @a=@a+'max(case name when '''+name+''' then name end),max(case aa when '''+aa+''' then aa end),max(case bb when '''+bb+''' then bb end),max(case cc when '''+cc+''' then cc end), ' from @t
set @a=substring(@a,1,len(@a)-1)+' from (select a.name,b.aa,b.bb,b.cc from a,b where a.id=b.id) as a'
exec (@a)

2007-04-25 10:09
初学Delphi
Rank: 3Rank: 3
等 级:新手上路
威 望:9
帖 子:330
专家分:0
注 册:2006-4-4
收藏
得分:0 
select @a=@a+'max(case name when '''+name+''' then name end ) as name
重命名一下比较好看
2007-04-25 10:13
史前大暴龙
Rank: 1
等 级:新手上路
帖 子:375
专家分:0
注 册:2005-11-22
收藏
得分:0 
回楼上,你的那个方法只是将两个给凑出来了,N行不行啊,这个问题在数据库中不知怎么样弄,我在后台那个实现了.
谢谢各位的关注.

我不是最好,但我可以更好,大家一起加油了
2007-04-25 17:36
快速回复:一个问题想好了好久了,不知怎么样弄???
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.048750 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved