如何判断多个值在表中是否存在,并提示出不存在的值

qq35713304 2011-11-04 02:15:14
如何判断多个值在表中存在,并提示出不存在的值

例如
姓名:张三、李四、王五、马六

如何判断这4个人名在表中存在,并提示不存在的人名?



用 select xm from table where xm in('张三','李四','王五','马六');只能得到记录数,不能提示不存在的值

1个1个判断太麻烦了,有没有简单的办法?
...全文
172 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
TimZhuFaith 2011-11-04
  • 打赏
  • 举报
回复

if exists(select 1 from sysobjects where name = 'test' )
drop table test
go
create table test
(
id int identity(1,1),
name nvarchar(10)
)
insert test(name) select N'张三' union all select N'李四' union all select N'马六'
go
declare @m nvarchar(1000), @n nvarchar(200)

set @m = N'张三,李四,王五,马六'

declare @i int, @i2 int

create table #tmp(name nvarchar(10))

set @i = 0
while 1 = 1
begin
select @i2 = charindex(',', @m, @i)
if @i2 = 0
insert into #tmp select substring(@m, @i, len(@m) - @i + 1)
else
insert into #tmp select substring(@m, @i, @i2 - @i)
select @i = @i2 + 1
if @i2<= 0
break
end
declare @nothaving nvarchar(50)
select @nothaving = ''
select @nothaving = @nothaving + a.name + ',' from #tmp a where not exists( select 1 from test where a.name = name)
print @nothaving
drop table #tmp
TimZhuFaith 2011-11-04
  • 打赏
  • 举报
回复
拆分为临时表和实表比较
gogodiy 2011-11-04
  • 打赏
  • 举报
回复

select xm from table where xm in('张三','李四','王五','马六')
怎么会只显示记录数?

select distinct xm from table where xm not in('张三','李四','王五','马六')
显示不在这4个姓名中的其他姓名
jwdream2008 2011-11-04
  • 打赏
  • 举报
回复
 select T.xm  from 
(
select '张三' as xm
union all select '李四'
union all select '王五'
union all select '赵六'
) T
left join TB on TB.xm=T.xm
where TB.xm in('张三','李四','王五','马六')
AND TB.xm is null
--小F-- 2011-11-04
  • 打赏
  • 举报
回复
拆分了再合并。
中国风 2011-11-04
  • 打赏
  • 举报
回复


DECLARE @s NVARCHAR(2000)
SET @s=',张三,李四,王五,马六,'
select @s=REPLICATE(@s,','+xm+',',',')
from table1
SELECT @s
中国风 2011-11-04
  • 打赏
  • 举报
回复
select xm from table where xm not in('张三','李四','王五','马六');


?
内容概要:本文围绕“重磅粉丝福利专栏1.7电力系统潮流和最优潮流”展开,重点介绍电力系统中潮流计算与最优潮流(Optimal Power Flow, OPF)的核心理论与Matlab仿真实现方法。内容涵盖交直流混合配电网的统一求解潮流算法、基于改进智能优化算法(如粒子群、遗传算法等)的无功优化与最优潮流求解,并结合IEEE标准节点系统(如IEEE30、IEEE33等)进行建模与仿真验证。专栏强调实际科研复现能力,提供大量Matlab代码实例,帮助读者掌握电力系统稳态分析的关键技术,深入理解电网运行的经济性与安全性优化机制。; 适合人群:具备电力系统分析基础,熟悉Matlab编程,从事电气工程、能源系统优化等相关领域的研究生、科研人员及工程技术人员。; 使用场景及目标:① 掌握电力系统潮流计算的基本原理与数求解方法;② 学习如何利用智能优化算法求解最优潮流问题,实现电网无功优化、降低网损、提升电压稳定性;③ 通过Matlab代码复现经典论文案例,提升科研仿真与工程实践能力。; 阅读建议:建议结合文中提供的Matlab代码与IEEE标准测试系统进行动手实践,重点关注算法实现细节与参数设置,同时参考配套论文深入理解模型构建逻辑,以达到理论与仿真深度融合的学习效果。
内容概要:本文档系统梳理了2026年软考高项考试中涉及的公共基础、新一代信息技术及法律法规相关内容,重点涵盖信息化发展战略(如数字中国、新基建、工业互联网、车联网、元宇宙)、信息技术基础(计算机体系结构、网络、数据库、信息安全)、五大新兴技术(物联网、云计算、大数据、区块链、人工智能)的核心概念与应用,以及IT治理、IT审计、信息系统管理方法。同时详细解读了《招标投标法》《政府采购法》《民法典合同编》《网络安全法》《数据安全法》《个人信息保护法》等关键法律法规的核心条款,并提供了知识产权与标准规范的相关知识。最后整理了专业英语高频词汇和各模块的高频考点速记表,帮助考生高效备考。; 适合人群:准备参加2026年或2027年软考高项的信息系统项目管理人员、IT从业人员及技术管理者,尤其适合需要系统掌握信息化发展、新技术应用与法律合规知识的考生。; 使用场景及目标:①系统复习软考高项中公共基础、新技术与法规模块的核心考点;②掌握云计算、大数据、区块链、AI等技术的基本原理与应用场景;③理解招投标、政府采购、合同、网络安全与数据保护等法律法规的关键内容;④提升专业英语阅读能力,熟悉高频术语。; 阅读建议:结合高频考点速记表进行重点记忆,对法律法规部分关注“高频考点”标注内容,技术部分建议对照实际案例理解应用,专业英语建议反复背诵表格词汇以提高答题速度。

27,581

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧