Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何强制T-SQL查询将不匹配的值输出为零?

如何强制T-SQL查询将不匹配的值输出为零?
EN

Stack Overflow用户
提问于 2017-12-11 09:57:37
回答 3查看 252关注 0票数 2

我使用的是SQL Server 2014,我有一个简单的T-SQL查询(如下所示)及其相应的输出。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
use mydatabase

select *

from Table1

where ID in (101, 102, 103)

输出如下(表示Table1中不存在ID 102 ):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ID   Age
101   46
103   50

我希望输出如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ID    Age
101   46
102    0
103   50

当查找表中的ID不匹配时,输出将忽略这些ID。如何更改我的T-SQL查询,以确保也输出不匹配的ID,但输出的ID为零。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-12-11 10:10:49

如果您有两个或多个表,并且希望在一个表中找不到匹配项的情况下显示一些默认值,则可以在SQL中使用外部联接。

例如:

我有两张桌子TableA和TableB。

当我执行内部连接时,我将获得在两个表中都有匹配的记录。假设我需要从两个表中选择id 1、2和3,并且即使TableB中不存在一个id,我也希望记录为NULL,那么我可以使用以下命令

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select
A.Id,
A.Name,
Age = ISNULL(B.Age,0)
    from TableA a
    left join TableB b
    on A.id = b.id

如果在tableB中没有与id匹配的记录,则年龄将显示为0

票数 0
EN

Stack Overflow用户

发布于 2017-12-11 10:10:03

如果没有包含您正在查找的值的表,则可以使用join,并在coalesce()isnull()函数的帮助下将不匹配的值替换为0

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select a.id, coalesce(t.age, 0) [Age] from <table> t
right join (
       values (101), (102), (103)
) a(id) on a.id = t.id

结果:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
id  Age
101 46
102 0
103 50
票数 0
EN

Stack Overflow用户

发布于 2017-12-11 10:10:55

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT T0.ID
       ISNULL(T1.Age,0) AS Age
FROM Table0 T0
     LEFT JOIN Table1 T1 ON T0.ID = T1.ID
WHERE T0.ID IN (101,102,103);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47750272

复制
相关文章
T-SQL查询语句
1、SQL的组成: ①DML:数据操纵语句 select、insert、delete、update ②DDL:数据定义语句 create、alter、drop ③DCL:数据控制语句 grant、revoke 2、查询语句:select select 列名1,列名2,…… [into 新表名称] from 表名 [where 条件表达式] [order by 列名 排序方式] 排序 [group by 表达式] 分
L宝宝聊IT
2018/06/20
9650
python后的返回值为零
python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零
狼啸风云
2019/03/15
1.7K0
python后的返回值为零
MySQL关于日期为零值的处理
前面文章我们介绍过日期和时间字段的查询方法,最近遇到日期值为零的问题。原来了解过和 sql_mode 参数设置有关,但还不是特别清楚,本篇文章将探究下MySQL怎么处理日期值为零的问题。
MySQL技术
2020/06/12
4.5K0
MySQL关于日期为零值的处理
浅谈 T-SQL高级查询
之前我们简单的了解了增、删、改、查这几类T-SQL语法来操纵数据表,但是为了更方便快捷地完成大量任务,SQL Server 提供了一些内部函数,可以和SQL Server 的SELECT语句来联合使用,进行类型转换、日期处理、数学计算、实现系统功能。
小手冰凉
2019/09/10
1.7K0
浅谈 T-SQL高级查询
如何加快MySQL模糊匹配查询
有时我会看到条件如下的模式匹配查询:“其中的字段名像'%something%'”。 MySQL不能为这些查询使用到索引,这意味着它必须每次都进行一次全表扫描。 (这真的只有一半是真的 - 因为还有Fu
用户1263954
2018/05/30
3.7K0
Elasticsearch:Elasticsearch 中的数据强制匹配
在实际的使用中,数据并不总是干净的。 根据产生方式的不同,数字可能会在 JSON 主体中呈现为真实的 JSON 数字,例如 5,但也可能呈现为字符串,例如 “5”。 或者,应将应为整数的数字呈现为浮点数,例如 5.0,甚至是 “5.0”。
腾讯云大数据
2020/10/29
3.4K0
Elasticsearch:Elasticsearch 中的数据强制匹配
SQLServer T-SQL 部分查询语句归纳
通过某一约束条件 (ON table.XXX = table2.XXX) 进行关联,如果表中有至少一个匹配,则返回行,输出查询的字段。
李郑
2019/12/04
1.4K0
PHP如何将数据库查询结果输出为json格式
近期做接口的时候需要做到一个操作,将数据库查询结果输出为json格式方便程序调用。 于是在网上看到了两种解法,就此分享出来,供大家学习以及自己日后进行参考。 可将其封装成专门将数据转换成json格式的接口
吃猫的鱼Code
2023/02/02
3.3K0
SQL Server T-SQL高级查询
高级查询在数据库中用得是最频繁的,也是应用最广泛的。 Ø 基本常用查询 --select select * from student;   --all 查询所有 select all sex from student;   --distinct 过滤重复 select distinct sex from student;   --count 统计 select count(*) from student; select count(sex) from student; select count(distin
磊哥
2018/04/26
3.9K0
T-SQL基础(一)之简单查询
SQL: Structured Query Language,结构化查询语言,是一种在关系型数据库中用于管理数据的标准语言。SQL是一种声明式编程语言,即只需表明需要什么而无需关注实现细节(C#中的LINQ也是如此)。
雪飞鸿
2018/11/02
4.2K0
【T-SQL基础】03.子查询
以前总是追求新东西,发现基础才是最重要的,今年主要的目标是精通SQL查询和SQL性能优化。 本系列【T-SQL基础】主要是针对T-SQL基础的总结。 练习题: 1.写一条查询语句,返回Orders表中
悟空聊架构
2018/05/18
1.9K0
【T-SQL基础】02.联接查询
概述: 本系列【T-SQL基础】主要是针对T-SQL基础的总结。 本篇主要是对多表查询基础的总结。 查询语句的FROM字句在逻辑上是第一条要处理的字句,在FROM字句内可以用表运算符对输入的表进行操作
悟空聊架构
2018/05/18
3K0
使用 querySelector 查询元素时,如何使用正则进行模糊匹配查询?
你好,今天聊一个简单的技术问题,使用 querySelector 方法查询网页上的元素时,如何使用正则进行模糊匹配查询?
LIYI
2023/10/25
1.9K0
使用 querySelector 查询元素时,如何使用正则进行模糊匹配查询?
Kibana查询语言(KQL)AND、OR匹配,模糊匹配
现在大多数的公司都会使用ELK组合来对日志数据的收集、存储和提供查询服务。ElasticSearch + Logstash+ Kibana。
鱼找水需要时间
2023/02/16
11.5K0
LINQ查询操作符 LINQ学习第二篇
一、投影操作符 1. Select Select操作符对单个序列或集合中的值进行投影。下面的示例中使用select从序列中返回Employee表的所有列: using (NorthwindDataContext db=new NorthwindDataContext()) {     //查询语法     var query =         from e in db.Employees         where e.FirstName.StartsWith("M")        
hbbliyong
2018/03/05
3.1K0
Access不匹配查询
大家好上节介绍了重复项查询,继续介绍选择查询中的不匹配项查询,不匹配查询也是在查询向导中创建。
无言之月
2020/06/04
2K0
T-SQL基础(二)之关联查询
表运算符的作用是把为其提供的表作为输入,经过逻辑查询处理,返回一个表结果。SQL Server支持四个表运算符:JOIN、APPLY、PIVOT、UNPIVOT,其中JOIN是标准SQL中的运算符,APPLY、PIVOT和UNPIVOT是T-SQL的扩展。
雪飞鸿
2018/11/14
2.2K0
T-SQL基础(二)之关联查询
如何查询、修改参数状态值
  用户连接到数据库里,对数据库进行操作,将磁盘里数据库中的数据读取到内存中(物理读),内存中的数据被用户读取(内存读),内存读的速度(基本可忽略)是物理读的速度的好几万倍。
全栈程序员站长
2022/07/20
1.4K0
如何查询、修改参数状态值
T-SQL基础(二)之关联查询
表运算符的作用是把为其提供的表作为输入,经过逻辑查询处理,返回一个表结果。SQL Server支持四个表运算符:JOIN、APPLY、PIVOT、UNPIVOT,其中JOIN是标准SQL中的运算符,APPLY、PIVOT和UNPIVOT是T-SQL的扩展。
雪飞鸿
2018/12/12
2.1K0
Golang 的零值
Golang 中定义不同类型的变量,不是通过声明就是通过 make 或 new 。 未显式初始化时,内存将被赋予一个默认的初始化,该默认值便为该类型的零值。不同的类型有不同的零值。
恋喵大鲤鱼
2019/08/23
1.8K0

相似问题

MS访问查询以输出所有值,并将不可用值视为零。

14

mysql查询中的强制计数为零

40

SQL:将不匹配的值返回为NULL

13

用于将不匹配或null替换为零计数的SQL查询

115

T-sql查询以CSV格式输出值。

15
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文