首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

关联表取数据,有多余数据,求正确语句,该怎么处理

2012-01-15 
关联表取数据,有多余数据,求正确语句/*表:宾馆_客房idKeyId客房类型价格14标准间180元/天24单人间100元/天

关联表取数据,有多余数据,求正确语句
/*表   :宾馆_客房
id           KeyId         客房类型     价格  
14标准间180元/天
24单人间100元/天
33总统豪华10000元/天
43商务客房2000元/天
54三人间200元/天NULL
表:图片信息
picid     subid         KeyId       picname                     filename                   servefile
2944标准客房     20070612.jpgD:\projects\map\map\pictures\20070612.jpgimage/jpeg
3043总统豪华客房2007061202.jpgD:\gby\test\map\pictures\2007061202.jpgimage/jpeg
3143商务套房   2007061203.jpgD:\gby\test\map\pictures\2007061203.jpgimage/jpeg
3253名店廊                 2007061207.jpgD:\gby\test\map\pictures\2007061207.jpgimage/jpeg

想要得到以下内容:
picid       picname               客房类型     价格                   serverfile                
30总统豪华客房       总统豪华     10000元/天     D:\gby\test\map\pictures\2007061202.jpg
31商务套房             商务客房     2000元/天       D:\gby\test\map\pictures\2007061203.jpg

create   table   宾馆_客房
(id   int   not   null,
KeyId   int   not   null,
客房类型   nvarchar(20)   null,
价格   nvarchar(30)   null)
create   table   图片信息
(PicId   int   not   null,
SubId   int,
KeyId   int,
PicName   nvarchar(50),
serverFile   nvarchar(50))*/

[解决办法]
select a.picid,a.picname,b.客房类型,b.价格,a.serverfile
from 图片信息 a,宾馆_客房 b
where a.keyid=b.keyid and
(select count(*) from 图片信息 where keyid=a.keyid and picid <a.picid)=
(select count(*) from 宾馆_客房 where keyid=b.keyid and id <b.id)

热点排行