我正在研究酒店管理软件,我需要在那个楼层展示地板和房间......
我在数据库中有一个wing_master表,其中包含以下列: wing_id, wing_name, 地板, floor_room_count, 状态
就像我在那个有4层楼的酒店有一个翼的记录,但是当我写一个查询来获得那个翼的地板时它只是给了我“4”作为结果在sql .....
我希望查询返回如下 - :
1
2
3
4
我想这样,以便我可以在asp.net中使用嵌套的数据列表控件....
我的查询是“select floors from wing_master where wing_id = 1
”
答案 0 :(得分:2)
对于大多数数据库(不是MySQL),您可以使用递归查询来获取所有楼层:
with all_floors as (
select floors from wing_master where wing_id = 1
union all
select floors - 1 as floors from all_floors
where floors > 1
)
select * from all_floors order by floors;
在MySQL中,最简单的方法是创建一个数字表,其数字序列可达到最高楼层。然后加入该表以获得所有楼层:
select num from wing_master
join numbers on
wing_id = 1 and
num <= floors;
答案 1 :(得分:0)
您的查询没问题,而且查询和表格结构似乎也可以满足您的要求。你可以显示你的数据,因为按照结构,表格中应该有四行,显示1楼,2楼,3楼,4楼
类似这样的事情
floor wing_id
1 1
2 1
3 1
4 1
如果这是您的数据外观,那么您的查询必须正常,否则还有其他问题。所以用几行数据分享你的结构。