【发布时间】:2021-07-22 09:27:51
【问题描述】:
我有这张房间的库存表:
| dtm | hotelid | roomcode | intqty |
|---|---|---|---|
| 2000-01-04 | 23 | svr | 9 |
| 2000-01-04 | 23 | ovb | 9 |
这是我的映射表:
| hotelid | roomcode1 | roomcode2 | externalroom |
|---|---|---|---|
| 23 | svr | ovb | 023 |
我正在尝试在上面的库存表中获取同一日期两个房间的 intqty 总和: 这是我到目前为止所拥有的:
select
a.dtm as InvDate,
a.intResortID as ResortId,
a.strRoomType as RoomType,
sUM(a.intQty) as InvCount,
am.externalRoomId
from
dbo.tblAvailable c
join dbo.tblAvailable a on a.dtm = c.dtm
and a.intResortID = c.intResortID
and a.strRoomType = c.strRoomType
join dbo.tblResorts r on r.intResortID = a.intResortID
join bbtest.externalResortMap arm on arm.ResortID = a.intResortID
join bbtest.externalRoomMap am on am.RoomId = a.strRoomType
group by
a.dtm,
a.intResortID,
a.strRoomType,
a.intQty,
am.externalRoomId
order by
invDate;
预期结果是:
| Invdate | ResortId | RoomType | InvCount | externalRoomId |
|---|---|---|---|---|
| 2000-01-04 | 23 | svr | 18 | 023 |
查询输出:
| Invdate | ResortId | RoomType | InvCount | externalRoomId |
|---|---|---|---|---|
| 2000-01-04 | 23 | svr | 9 | 023 |
| 2000-01-04 | 23 | ovb | 9 | 023 |
【问题讨论】:
-
预期结果是什么?
-
映射表的名称是什么?你的房间桌子是哪一张?
-
我已经添加了预期的结果@Squirrel
-
映射表名是bbtest.externalRoomMap @eshirvana主表是第一个tblAvailable
-
你为什么要自己加入
tblAvailable?
标签: sql sql-server-2008 stored-procedures mapping