过滤使用子查询计算的值

丹尼斯·塞古雷

该查询有效:

select r.id, name, description, private, auth,
(select count (*) from message m where m.room = r.id) as messageCount
from room r left join room_auth a on a.room=r.id and a.player='11'
where private is false or auth is not null;

这不是:

select r.id, name, description, private, auth,
(select count (*) from message m where m.room = r.id) as messageCount
from room r left join room_auth a on a.room=r.id and a.player='11'
where private is false or auth is not null or messageCount>1000;

我收到此错误:

ERREUR:  the « messageCount » column doesn't exit

如何清洁有效地添加条件messageCount或更笼统地说,如何达到预期的结果(由于表中的列数room和联接的原因,我对查询直接查询message表和group by的查询并不是很热情room)?

查理

将子查询移到where子句:

select sometable.id from sometable
where id in (select id from someothertable)

小提琴示例:

http://sqlfiddle.com/#!12/02c79/1

应用于您的查询:

select 
  r.id, 
  name, 
  description, 
  private, 
  auth, 
  (select count (*) from message m where m.room = r.id) as messageCount
from room r 
  left join room_auth a on a.room = r.id and a.player = '11'
where 
  private is false or 
  auth is not null or 
  (select count (*) from message m where m.room = r.id) > 1000;

(免责声明-由于我是MSSQL专家,因此不确定是否可以正常使用,因此Postgre中可能会有一些警告)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用子查询更新列,过滤出空值

来自分类Dev

在算术计算中使用子查询结果

来自分类Dev

使用有限的子查询过滤 Django 查询集

来自分类Dev

使用条件查询或过滤最高值

来自分类Dev

如何使用max(date)值过滤查询

来自分类Dev

过滤子查询

来自分类Dev

在猫鼬子查询中计算子文档的值

来自分类Dev

子查询计算

来自分类Dev

TSQL使用子查询更新值

来自分类Dev

在子查询的位置使用主集的值

来自分类Dev

使用使用熊猫的过滤器计算值之间的差异

来自分类Dev

Django-使用子对象过滤查询集(ForeignKey)

来自分类Dev

SQL子查询,使用WHERE和'IN'过滤特定行

来自分类Dev

查询节点,使用子节点的uid(关系)进行过滤

来自分类Dev

如何使过滤器与子查询一起使用?

来自分类Dev

SQL:在子查询中使用多列进行过滤

来自分类Dev

mysql使用子查询结果过滤结果

来自分类Dev

如何在子查询中使用超级查询中的值?

来自分类Dev

使用日期对组中的子查询计算索引位置

来自分类Dev

在计算列上使用子句WHERE(包括子查询)

来自分类Dev

使用日期对组中的子查询计算索引位置

来自分类Dev

计算使用联接的MYSQL查询的子组中的记录数

来自分类Dev

日/月过滤子查询

来自分类Dev

子查询,该子查询在where caluse中使用外部查询的值

来自分类Dev

Django使用字段值查找过滤查询集

来自分类Dev

Django使用字段值查找过滤查询集

来自分类Dev

SQL查询-使用无过滤出列值

来自分类Dev

使用Django ORM跨过滤的查询集聚合属性值

来自分类Dev

如何使用Firebase按子元素值过滤元素?