高手请进,求一SQL语句。已经困扰多时!
有A,B两个表!
A表与B表是一对多关系。
A表的记录有
ID Name
1 a
2 b
3 c
B表有记录
AID URL
1 1.1
1 1.2
2 2.1
3 3.1
3 3.2
我想查询出所有A表的所有记录,并且结果集中每条记录并有与
B的AID关联的URL值,即结果是3条
1 a 1.1
2 b 2.1
3 c 3.1
这样的值。即是把一对多变成一对一,B表中与A表对应的相同ID按要求取一条
问题点数:20、回复次数:8Top
1 楼lw1a2(一刀 现在改六点下班了:()回复于 2005-12-03 20:48:19 得分 0
按什么要求取一条呀,X.1?Top
2 楼lw1a2(一刀 现在改六点下班了:()回复于 2005-12-03 21:04:09 得分 0
select A.*,URL from A,B where ID=AID and URL = (select top 1 URL from B where AID=A.ID)Top
3 楼xiaohuozhi()回复于 2005-12-04 10:01:28 得分 0
我的数据库是postgresql的。
select A.*,URL from A,B where ID=AID and URL = (select top 1 URL from B where AID=A.ID)
这一句能表达出我的意思。可是不行呀!还待解决呀!!Top
4 楼vbman2003(家人)回复于 2005-12-04 13:40:08 得分 0
select a.*,uil
from a,(select aid,min(uil) as uil from b group by aid)
where a.aid=b.aid
postgresql不能用top,取前n条数据:
select * from tb limit 10
Top
5 楼vbman2003(家人)回复于 2005-12-04 13:44:28 得分 0
select a.*,uil
from a,(select aid,min(uil) as uil from b group by aid) t
where a.id=t.aid
postgresql不能用top,取前n条数据:
select * from tb limit n
Top
6 楼xiaohuozhi()回复于 2005-12-04 14:42:53 得分 0
其实我的目标是这样的:
我想做一个相册
有一个album存放相册资料的,photo存放相片资料的
他们的关系是通过albumid关联:album 1 <--> N photo
游览者创建了相册后,就可以在该相册里上传相片。
那我现在指定上传的相片的第一张相片就为相册的封面。
如果用户有指定的话就用他指定的相片做为相册封面。
所以说在读取相册资料时,还要读取属于该相册的一张相片地址!
请问要怎么读法!Top
7 楼xiaohuozhi()回复于 2006-03-23 10:50:00 得分 0
顶Top
8 楼XqYuan()回复于 2006-03-23 11:36:54 得分 0
select * from (select A.*,URL from A,B where ID=AID order by URL) as a group by AID
如果是mysql就可以这样写,不知道Postgresql是否可行Top




