sql 中如何利用别名作为查询条件

目录

一、前言

业务描述

二、解决方法

2.1、用having去查询别名字段

2.2嵌套查询


一、前言

 在日常开发中我们根据工作需求来编写sql, 在开发中遇到一个利用不是表中字段作为条件进行查询, 因为困惑了我很久 , 今天来记录一下。

业务描述

 我的业务是三表联查,其中"sign" 是 notice_receive_record 表中 "notice_management_id" 是否为空用case when 来判断返回0 或者1 (不为空是1,反之则是 0)然后赋值到sign别名上

问题:在where 子句中sign如何作为查询条件去查询数据呢

看sql:

SELECT
	nm.notice_name,
	nm.id,
	nm.notice_date,
	nm.notice_party_org_name,
	nm.notice_type,
	nm.notice_status,
	nrpo.party_org_name,
	nrr.received_time,
	nrr.notice_management_id,
	nrpo.party_org_id,
	( CASE WHEN nrr.notice_management_id IS NOT NULL THEN 0 ELSE 1 END ) AS sign 
FROM
	notice_management nm
	LEFT JOIN notice_receive_party_org nrpo ON nm.id = nrpo.notice_management_id
	LEFT JOIN notice_receive_record nrr ON nm.id = nrr.notice_management_id
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值