首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有联接的Oracle子查询

带有联接的Oracle子查询
EN

Stack Overflow用户
提问于 2019-06-30 07:34:26
回答 1查看 28关注 0票数 1

解释场景的

我有一个真实的国家系统的单位租用建立在甲骨文数据库。在我的系统中,我有一组建筑物的列表,每一栋建筑都有自己的单元。

每栋楼都有多个单元,它们的价格因其位置和房间数目、厨房、浴室、阳台和停车场的数目而不同。等

例如,

  • 街景单元,有3间卧室(每年15,000美元)
  • 带有3间卧室的后侧视图单元(每年13,000美元)
  • 街角街景和有4间卧室的侧视图单元(每年18,000美元)
  • 街角街景和有4间卧室的侧视图单元(每年18,000美元)
  • 等等..。

有些单位是租的,有些单位是没有租的。

我期待得到的单位清单,根据其规格和价格清单。

我编写了一个查询来给我这样的列表:

代码语言:javascript
复制
SELECT GR.G_NO, MIN(U.ANNUAL_RENT),MIN(U.U_NO), MIN(U.U_CODE), MIN(UT.UNIT_TYPE),  U.VARAND_NAME, U.UNIT_STATE, COUNT(U.UNIT_STATE) , COUNT(UT.UNIT_TYPE), min(U.COUNT_ROOM), min(U.PATH_NO), min(U.GALARY_NO), 
FROM UNITS U 
JOIN UNIT_TYPE UT
ON UT.UNIT_NO = U.UNIT_NO
JOIN GROUPS GR
ON GR.G_NO = U.G_NO
JOIN BUILDS B
ON B.B_NO = U.B_NO
WHERE 
GR.G_NO = B.G_NO
GROUP BY GR.G_NO, B.B_NAME, U.VARAND_NAME, U.UNIT_STATE, U.ANNUAL_RENT
ORDER BY GR.G_NO, B.B_NAME, MIN(U.ANNUAL_RENT),MIN(U.U_NO)
FETCH FIRST 5 ROWS ONLY

其中的输出如下:

如果你看记录3和4,它们有相同的规格和相同的价格,其中唯一不同的是UNIT_STATE和COUNT(U.UNIT_STATE) (y)租用(1单元)或(N)未租(2套)。

我正在寻找的是通过计数(U.UNIT_STATE)在这样的独立列上获得单位计数。

我得到的地方:

  • 按相同类型和规格计算的单元的总数,
  • 按同一类型和规格计算的租用单元的总数,
  • 按同一类型和规格计算的未出租单元的总数,

因此,例如,记录号3,总单位为3,其中1个单元被租用,2个单元没有出租。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-30 09:25:19

似乎您需要这样的东西(由于缺乏测试数据而没有测试):

代码语言:javascript
复制
SELECT GR.G_NO, 
       MIN(U.ANNUAL_RENT) ,
       MIN(U.U_NO), 
       MIN(U.U_CODE), 
       MIN(UT.UNIT_TYPE),  
       U.VARAND_NAME, 
       COUNT(U.UNIT_STATE) as total_unit_by_same_type,
       COUNT( CASE WHEN UNIT_STATE = 'Y' THEN 1 END ) as "COUNT(U.UNIT_STATE)=Y",
       COUNT( CASE WHEN UNIT_STATE = 'N' THEN 1 END ) as "COUNT(U.UNIT_STATE)=N",
       COUNT(UT.UNIT_TYPE), 
       min(U.COUNT_ROOM), 
       min(U.PATH_NO), 
       min(U.GALARY_NO),
       U.ANNUAL_RENT
FROM .... 
...... rest of your query goes here
.....
.....
GROUP BY GR.G_NO, 
      B.B_NAME, 
      U.VARAND_NAME,
      U.ANNUAL_RENT
ORDER BY GR.G_NO, B.B_NAME, MIN(U.ANNUAL_RENT),MIN(U.U_NO)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56823191

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档