SQL查询结果的显示问题
有表RoomInformation内容:FloorNO,RoomNO,BadNO1,101,41,102,41,103,4有表HotelStaff内容:IDRoomNON...
有表RoomInformation
内容:
FloorNO,RoomNO,BadNO
1,101,4
1,102,4
1,103,4
有表HotelStaff
内容:
ID RoomNO Name Grade Class
1 101 A1 2 1
2 101 B1 2 2
3 101 C1 1 1
4 101 D1 1 2
5 102 A2 2 1
6 102 B2 2 2
7 102 C2 1 1
8 102 D2 1 2
9 103 A3 2 1
10 103 B3 1 2
11 103 C3 2 2
12 103 D3 1 1
需要实现查询结果如下:
FloorNO RoomNO BadNO ID RoomNO Name Grade Class
1 101 4 1 101 A1 2 1
2 101 B1 2 2
3 101 C1 1 1
4 101 D1 1 2
1 102 4 5 102 A2 2 1
6 102 B2 2 2
7 102 C2 1 1
8 102 D2 1 2
1 103 4 9 103 A3 2 1
10 103 B3 1 2
11 103 C3 2 2
12 103 D3 1 1
使用
select * from RoomInformation
left join HotelStaff on RoomInformation.RoomNO=HotelStaff.RoomNO
查询实现不了,可以用什么方式来实现呢?
表1
表2
查询结果
我需要的是查询结果中,表RoomInformation里的每行资料只显示一次就够了,然后对应表HotelStaff 里有四行记录,连续显示出来,然后是表RoomInformation的第二行,以此类推 展开
内容:
FloorNO,RoomNO,BadNO
1,101,4
1,102,4
1,103,4
有表HotelStaff
内容:
ID RoomNO Name Grade Class
1 101 A1 2 1
2 101 B1 2 2
3 101 C1 1 1
4 101 D1 1 2
5 102 A2 2 1
6 102 B2 2 2
7 102 C2 1 1
8 102 D2 1 2
9 103 A3 2 1
10 103 B3 1 2
11 103 C3 2 2
12 103 D3 1 1
需要实现查询结果如下:
FloorNO RoomNO BadNO ID RoomNO Name Grade Class
1 101 4 1 101 A1 2 1
2 101 B1 2 2
3 101 C1 1 1
4 101 D1 1 2
1 102 4 5 102 A2 2 1
6 102 B2 2 2
7 102 C2 1 1
8 102 D2 1 2
1 103 4 9 103 A3 2 1
10 103 B3 1 2
11 103 C3 2 2
12 103 D3 1 1
使用
select * from RoomInformation
left join HotelStaff on RoomInformation.RoomNO=HotelStaff.RoomNO
查询实现不了,可以用什么方式来实现呢?
表1
表2
查询结果
我需要的是查询结果中,表RoomInformation里的每行资料只显示一次就够了,然后对应表HotelStaff 里有四行记录,连续显示出来,然后是表RoomInformation的第二行,以此类推 展开
2个回答
展开全部
创建表、数据:
create table RoomInformation
(FloorNO int,
RoomNO int,
BadNO int);
create table HotelStaff
(ID int,
RoomNO int,
Name varchar(2),
Grade int,
Class int);
insert into RoomInformation values (1,101,4);
insert into RoomInformation values (1,102,4);
insert into RoomInformation values (1,103,4);
insert into HotelStaff values (1,101,'A1',2,1);
insert into HotelStaff values (2,101,'B1',2,2);
insert into HotelStaff values (3,101,'C1',1,1);
insert into HotelStaff values (4,101,'D1',1,2);
insert into HotelStaff values (5,102,'A2',2,1);
insert into HotelStaff values (6,102,'B2',2,2);
insert into HotelStaff values (7,102,'C2',1,1);
insert into HotelStaff values (8,102,'D2',1,2);
insert into HotelStaff values (9,103,'A3',2,1);
insert into HotelStaff values (10,103,'B3',1,2);
insert into HotelStaff values (11,103,'C3',2,2);
insert into HotelStaff values (12,103,'D3',1,1);
执行:
select b.id,a.RoomNO,b.Name,b.grade,b.class from RoomInformation a,HotelStaff b where a.RoomNO=b.RoomNO
结果:
追问
我需要的是查询结果中,表RoomInformation里的每行资料只显示一次就够了,然后对应表HotelStaff 里有四行记录,连续显示出来,然后是表RoomInformation的第二行,以此类推
2018-11-04 · 百度知道官方认证企业
腾讯电脑管家
腾讯电脑管家是腾讯公司推出的免费安全管理软件,能有效预防和解决计算机上常见的安全风险,并帮助用户解决各种电脑“疑难杂症”、优化系统和网络环境,是中国综合能力最强、最稳定的安全软件。
向TA提问
关注
展开全部
Check if this entry is a directory or a file.
const size_t filenameLength = strlen(fileName);
if (fileName[filenameLength-1] == '/')
{
{
const size_t filenameLength = strlen(fileName);
if (fileName[filenameLength-1] == '/')
{
{
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询