Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >来自两个表的SQL Server计数与条件连接

来自两个表的SQL Server计数与条件连接
EN

Stack Overflow用户
提问于 2016-02-23 14:20:29
回答 4查看 883关注 0票数 0

我正在使用SQL Server 2008。我有两个表Tab1Tab2,我想用条件(非null)从Tab1中计算Tab2中的行数。

我尝试了这个查询:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Select count(H.ID) 
From Tab1 H 
Join Tab2 A On A.Compte = H.charging_Id 
Where A.FLAG IS NULL

但是这个查询没有返回正确的值。

EN

回答 4

Stack Overflow用户

发布于 2016-02-23 14:30:55

您缺乏对连接对数据的影响的理解。Tab2可能与表1存在一对多的关系。因此,当您连接到它时,您会增加返回的记录数。如果我理解正确的话,您想要的是tab1中所有在tabl2中没有相关记录的记录的计数。在这种情况下,not exists是您想要使用的。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Select count(H.ID) 
from   Tab1 H 
where not exists (select   * from Tab2 
    where Compte = H.charging_Id )
票数 0
EN

Stack Overflow用户

发布于 2016-02-23 14:30:59

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Select count(H.ID) 
From Tab1 H 
Join Tab2 A On A.Compte = H.charging_Id And A.FLAG IS NOT NULL 

如果我没理解错的话,你的内部连接将不会包含第二个表的空值。

票数 0
EN

Stack Overflow用户

发布于 2016-02-23 17:44:57

从您的问题和评论(需要表1的计数;表1的compte id等于表2的chargingid),您只需将“null”修改为“NOT null”,以防您在table1或2中有NULL值,也包含了isnull条件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Select count(H.ID) 
From Tab1 H 
Join Tab2 A On ISNULL(A.Compte,0) = ISNULL(H.charging_Id,0)
Where A.FLAG IS NOT NULL

希望这能有所帮助

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35579997

复制
相关文章
sql server 连接查询_连表查询语句
连接查询包括合并、内连接、外连接和交叉连接,如果涉及多表查询,了解这些连接的特点很重要。
全栈程序员站长
2022/10/05
3.4K0
Sql Server 建表Sql
Sql Server建表太麻烦了,如果想去修改主键的自增是不可能的。不如我们直接一开始确定SQL,直接修改SQL,这在国外某个开源项目是比较推荐的方式(每修改一条SQL,再去修改SQL文件,然后执行SQL)。
收心
2022/10/28
2.7K0
sql server 更新两个表的某个字段
--临时表 create table tmp_cup ( a varchar(20), b varchar(50), c varchar(20) ) select * from t_customer --//更新简称字列 update t_customer set SHORTNAME=(select shortname from tmp_cup where a=custid) 不过如此的话, 如果子查询的某个查询返回多条数据的话就有可能报错:消息 512,级别 16,状态 1,
乔达摩@嘿
2020/09/11
2.1K0
SQL Server表的设计(建表)
知识部分 1、SQLServer数据类型 ·数据类型是数据的一种属性,用来定义数据是时间、数字、字符串(文字、字母)等 ·SQLServer提供系统数据类型集,该类型集定义了可以与SQLServer一起使用的所有数据类型 ·常用的数据类型: int:从-2147483648到-2147483647之间的整数(可用于标识符列) money:货币类型,可包含小数。 decimal:小数,位数较大 float:小数 datetime:日期类型 char:可包含8000个字符 varchar:较char可存储更多字符 binary:用于存储可达8000字节长的定长的二进制数据 image:大约可存储20亿个二进制数据 2、默认值 在插入数据是如果对一行的某一列没有键入数据(留空)而且设置了默认值,那么这一列就会使用默认值。 3、标识符列 表的序号,自动递增,具有三个特点: ·列的数据类型不能为小数类型 ·不允许控制null ·每个表只能有一个标识符列 4、check约束 通过check约束可以限制域的完整性。通过任何基于逻辑运算符返还的TRUE或FALSE的逻辑表达式创建check约束。例如可以通过设置check约束限制输入的年龄、出生日期等数据
星哥玩云
2022/08/17
3.4K0
SQL Server表的设计(建表)
DataGrip连接SQL server
要将SQL Server Browser 和 SQL Server (SQLEXPRESS)运行。
无道
2019/11/13
5.7K0
DataGrip连接SQL server
sql server 表分区
添加文件分组 image.png 创建文件,并分配文件组 image.png 分区函数 CREATE PARTITION FUNCTION partCustomerStockHistory (d
易兒善
2018/08/21
6120
sql server 表分区
SQL Server表分区
但是如果是分区表的话,表数据就会按照你指定的规则分放到不同的文件里,把一个大的数据文件拆分为多个小文件,还可以把这些小文件放在不同的磁盘下由多个cpu进行处理。这样文件的大小随着拆分而减小,还得到硬件系统的加强,自然对我们操作数据是大大有利的。
Vincent-yuan
2020/04/09
9190
1 - SQL Server 2008 之 使用SQL语句创建具有约束条件的表
本文介绍了SQL Server 2008中创建具有约束条件的表的方法。文章首先介绍了约束条件的六种类型,然后通过实例演示了如何使用这些约束条件来确保数据的完整性和唯一性。最后,文章介绍了如何创建具有约束条件的表,并使用检查约束来确保数据的完整性。
CNXY
2017/12/25
2.9K0
1 - SQL Server 2008 之 使用SQL语句创建具有约束条件的表
管理sql server表数据_sql server如何使用
表是SQL Server中最基本的数据库对象,用于存储数据的一种逻辑结构,由行和列组成, 它又称为二维表。 例如,在学生成绩管理系统中,表1–是一个学生表(student)。
全栈程序员站长
2022/09/23
1.8K0
管理sql server表数据_sql server如何使用
2 - SQL Server 2008 之 使用SQL语句为现有表添加约束条件
本文介绍了如何使用 SQL Server 2008 中的约束条件,为现有表添加条件约束。首先介绍了如何在创建表的同时添加条件约束,然后介绍了如何在表创建完成后添加条件约束。通过使用 ALTER TABLE 语句,可以创建主键约束、检查约束、默认约束和唯一约束。同时,还介绍了如何创建外键约束,以实现表之间的关联。
CNXY
2017/12/25
1.4K0
2 - SQL Server 2008 之 使用SQL语句为现有表添加约束条件
JDBC SSL连接SQL Server
上次碰到的是《JDBC SSL连接MySQL》,这次则是SSL连接SQL Server。
bisal
2021/09/10
2.9K0
使用Oracle SQL Developer 连接SQL Server
上次,将MySQL数据迁移到Oracle介绍了如何使用oracle sql developer连接mysql。同样,sql server的连接也比较相似。
williamwong
2018/07/24
3.3K0
使用Oracle SQL Developer 连接SQL Server
python连接SQL Server数据
工具:django-pyodbc-azure django-pyodbc-azure这个工具是目前据我所知最好用的django链接mssql的库 它有很多版本,需要配合你的Django版本,来下载。附上网址:https://pypi.org/project/django-pyodbc-azure/1.11.0.0/ 可以从历史版本里看看说明文档,看是否适合你的django版本,这里看1.11版本的说明文档。
py3study
2020/01/07
2.8K0
php连接MS SQL Server
从5.3开始,PHP自带的dll不再支持2000以后的MS SQL Server了。
似水的流年
2019/12/04
1.8K0
Python 连接Sql Server数
Python 想要和MSSql数据库进行交互,首先要下载名为"pymssql"的包,然后import该包即可。
py3study
2020/01/09
3.1K0
sql server 修改表结构
文章来自http://blog.csdn.net/huwei2003/article/details/6076051
乔达摩@嘿
2020/09/11
1.9K0
SQL server无法更改表
在设计器中,选择表设计器和数据库设计器,将阻止保存要求重新创建表的更改选项取消勾选 再次编辑表中内容时就不会再有错误弹窗。
magize
2023/07/11
2680
SQL server无法更改表
(二)Sql Server的基本配置以及使用Navicat连接Sql Server
实际生产环境服务器肯定是需要远程连接的,所以我们需要对本机的sqlserver进行一下的基本配置:
全栈程序员站长
2022/09/27
9.9K0
(二)Sql Server的基本配置以及使用Navicat连接Sql Server
Linux 连接SQL Server支持
在Windows平台下可以直接连,而在Unix/Linux下如何连接呢?因为Unix/Linux下没有SQL Server的驱动,那么我们就需要安装驱动,这个驱动就是FreeTDS——Unix/Linux下的Sybase/SQL Server驱动。 FreeTDS是一个帮助linux和Unix用户连接MS SQL Server和Sybase的开源项目。常用于linux和Unix平台上的web server将上述两种数据库的数据展示在网站中。从技术层面上讲FreeTDS实现了Tabular Data Stre
张善友
2018/01/29
4.1K0
Golang 连接mssql sql server
package main import ( "database/sql" "fmt" "strings" ) import ( _ "github.com/mattn/go-adodb" ) type Mssql struct { *sql.DB dataSource string database string windows bool sa SA } type SA struct { user string passwd string por
李海彬
2018/03/20
4.8K0

相似问题

SQL中的条件计数与表连接

216

Server 2000与计数条件的连接

31

SQL Server中的条件表连接

27

来自不同表的SQL连接和计数

40

Server条件连接两个表

23
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

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