创建视图时如何将查询的别名列加入另一主查询结果中
实现方案
两段查询都基于同一张landing_doctor_det表,不需要做额外表关联,直接把第一段拼接完整地址的逻辑放到第二段主查询的SELECT返回字段列表里,就可以直接用于创建视图。
可直接执行的视图创建SQL
CREATE VIEW vw_doctor_det_with_fulladdr AS SELECT clinic_institute_name, doctor_Name, Mobile_1, Address_1, category, City, specilisation, State, email_id, -- 复用地址拼接逻辑生成完整地址列 ISNULL(Address_1,'') + ' ' + ISNULL(Address_3,'') + ' ' + ISNULL(Address_2,'') + ISNULL(Address_4,'') AS Full_Address FROM landing_doctor_det WHERE clinic_institute_name IS NOT NULL AND doctor_Name IS NOT NULL AND Mobile_1 IS NOT NULL AND Address_1 IS NOT NULL AND category IS NOT NULL AND City IS NOT NULL AND ( specilisation IS NOT NULL OR State IS NOT NULL OR email_id IS NOT NULL )
补充说明
- 不需要把
Address_2、Address_3、Address_4单独加到SELECT返回列表里,拼接逻辑可以直接读取表中这几个字段计算,不依赖字段对外返回。 - 如果拼接后出现多余的首尾空格,可以给拼接结果套一层
TRIM()函数处理,避免地址格式不规整。 - 视图创建完成后,直接查询该视图即可同时获取所需业务字段和拼接完成的完整地址,无需重复写地址拼接逻辑。
内容的提问来源于stack exchange,提问作者Abhishek Borse
相关产品推荐
相关产品推荐

