注册 登录
编程论坛 SQL Server论坛

一个问题想好了好久了,不知怎么样弄???

史前大暴龙 发布于 2007-04-23 16:32, 1190 次点击
我有两个表,一个表为 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编辑过]

12 回复
#2
史前大暴龙2007-04-23 21:26
唉,哪位大佬会的就请告诉我一下啊,谢谢了
#3
xiyou4192007-04-23 22:05

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

#4
cyyu_ryh2007-04-24 11:26
用左连接
#5
Kendy1234562007-04-24 14:20

似乎只能用游标拼sql语句

#6
史前大暴龙2007-04-24 21:41
那个问题在程序中用了个Table弄成了
#7
棉花糖ONE2007-04-25 00:00

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

#8
初学Delphi2007-04-25 10:09

不知道楼主是不是这个意思?
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)

#9
初学Delphi2007-04-25 10:13
select @a=@a+'max(case name when '''+name+''' then name end ) as name
重命名一下比较好看
#10
史前大暴龙2007-04-25 17:36
回楼上,你的那个方法只是将两个给凑出来了,N行不行啊,这个问题在数据库中不知怎么样弄,我在后台那个实现了.
谢谢各位的关注.
#11
初学Delphi2007-04-26 14:29

楼上的哥哥
我知道是N啊,难道不是A中N条记录,B中M条记录么?
可能我理解错了,
你说的N指的是什么?

#12
史前大暴龙2007-04-27 09:01
我的意思是指:
一张表,有N行信息,要将这N行信息用一行显示出来,而我又不知道这N是指多少
#13
初学Delphi2007-04-27 17:35

棉花,出来说话,我理解能力那么差

1