社区
MS-SQL Server
帖子详情
急~~~~~~~~~~~~~在线等待 SQL
changkai
2003-12-19 09:06:31
两个表
表名: 表A 表B
列名: 药品名称 药品通用名 标号
表的内容: 阿莫西林 阿莫西林胶囊
阿莫西林***
....... ........
要求:
表B中的药品通用名 有跟表A的药品名称相似的都找出来,有相似的在标号那一列写
上1,没相似的在标号那一列写上0
...全文
57
20
打赏
收藏
急~~~~~~~~~~~~~在线等待 SQL
两个表 表名: 表A 表B 列名: 药品名称 药品通用名 标号 表的内容: 阿莫西林 阿莫西林胶囊 阿莫西林*** ....... ........ 要求: 表B中的药品通用名 有跟表A的药品名称相似的都找出来,有相似的在标号那一列写 上1,没相似的在标号那一列写上0
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
20 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
changkai
2003-12-22
打赏
举报
回复
谢谢各位了~!
changkai
2003-12-19
打赏
举报
回复
我就用你这个
update 表B set 标号=1
from 表B b join 表A a on b.药品通用名 like '%'+a.药品名称+'%'
10分钟都不行,我停了
zjcxc
元老
2003-12-19
打赏
举报
回复
你是用那个语句?
changkai
2003-12-19
打赏
举报
回复
好象速度很慢,更新不了
我每个表也才5000条记录
运行了5分钟都运行不了
yangvxin1
2003-12-19
打赏
举报
回复
update 表B set 标号=1
from 表A a where charindex(a.药品名称,b.药品通用名)>0
dlpseeyou
2003-12-19
打赏
举报
回复
update 表B b case when a.药品名称 is null then 0 else 1 end left join 表A a where path(a.药品名称,b.药品通用名)>0
pengdali
2003-12-19
打赏
举报
回复
测试2:
create table b (药品通用名 varchar(20),标号 bit)
insert b (药品通用名) select '阿莫西林胶囊' union select '阿莫西林***' union select 'aaaa'
create table a (药品名称 varchar(20))
insert a select '阿莫西林'
update b set 标号=case when a.药品名称 is null then 0 else 1 end from b left join a on b.药品通用名 like '%'+a.药品名称+'%'
select * from b
/*
药品通用名 标号
-------------------- ----
aaaa 0
阿莫西林*** 1
阿莫西林胶囊 1
(所影响的行数为 3 行)
*/
zjcxc
元老
2003-12-19
打赏
举报
回复
--下面是测试
declare @表A table(药品名称 varchar(10))
insert into @表A
select '阿莫西林'
declare @表B table(药品通用名 varchar(50),标号 bit)
insert into @表B(药品通用名)
select '阿莫西林胶囊'
union all select '阿莫西林***'
union all select '比历史最高水平'
--更新处理
update @表B set 标号=1
from @表B b join @表A a on b.药品通用名 like '%'+a.药品名称+'%'
--显示处理结果
select * from @表B
/*--测试结果
药品通用名 标号
-------------------------------------------------- ----
阿莫西林胶囊 1
阿莫西林*** 1
比历史最高水平 NULL
(所影响的行数为 3 行)
--*/
pengdali
2003-12-19
打赏
举报
回复
测试:
create table b (药品通用名 varchar(20),标号 bit)
insert b (药品通用名) select '阿莫西林胶囊' union select '阿莫西林***' union select 'aaaa'
create table a (药品名称 varchar(20))
insert a select '阿莫西林'
update b set 标号=case when exists(select 1 from a where b.药品通用名 like '%'+a.药品名称+'%') then 1 else 0 end
/*
药品通用名 标号
-------------------- ----
aaaa 0
阿莫西林*** 1
阿莫西林胶囊 1
(所影响的行数为 3 行)
*/
changkai
2003-12-19
打赏
举报
回复
我先式一下
:)
changkai
2003-12-19
打赏
举报
回复
谢谢各位大哥
zjcxc
元老
2003-12-19
打赏
举报
回复
update 表B set 标号=1
from 表B b join 表A a on b.药品通用名 like '%'+a.药品名称+'%'
pengdali
2003-12-19
打赏
举报
回复
如果是update:
update b set 标号=case when exists(select 1 from a where b.药品通用名 like '%'+a.药品名称+'%') then 1 else 0 end
或:
update b set 标号=case when a.药品名称 is null then 0 else 1 end from b left join a on b.药品通用名 like '%'+a.药品名称+'%'
dlpseeyou
2003-12-19
打赏
举报
回复
update 表B b set 标号=1 right join 表A a where path(a.药品名称,b.药品通用名)>0
pengdali
2003-12-19
打赏
举报
回复
或:
select b.*,case when a.药品名称 is null then 0 else 1 end 标号 from b left join a on b.药品通用名 like '%'+a.药品名称+'%'
pengdali
2003-12-19
打赏
举报
回复
select *,case when exists(select 1 from a where b.药品通用名 like '%'+a.药品名称+'%') then 1 else 0 end from b
changkai
2003-12-19
打赏
举报
回复
高手帮忙
LoveSQL
2003-12-19
打赏
举报
回复
测试结果
药品通用名 标号
-------------------- ----
aaaa 0
阿莫西林*** 1
阿莫西林?? 1
(3 row(s) affected)
zjcxc
元老
2003-12-19
打赏
举报
回复
--那你试试用这个:
update 表B set 标号=1
from 表B a
where exists(select 1 from 表A where a.药品通用名 like '%'+药品名称+'%')
LoveSQL
2003-12-19
打赏
举报
回复
create table b (药品通用名 varchar(20),标号 bit)
insert b (药品通用名) select '阿莫西林胶囊' union select '阿莫西林***' union select 'aaaa'
create table a (药品名称 varchar(20))
insert a select '阿莫西林'
update b
set b.标号=case when charindex(a.药品名称,b.药品通用名)>0 then 1 else 0 end from b b,a a
Python编程等级考试标准[可运行源码]
本文详细介绍了全国青少年软件编程等级考试(Python1级-6级)的考试标准。从一级到六级,逐级深入,涵盖了Python编程的基础知识、进阶技能以及高级应用。一级标准包括Python开发环境的使用、基本编程方法和计算思维能力;二级标准涉及进阶数据类型和控制语句;三级标准包括数制转换、数据处理和算法基础;四级标准聚焦函数、算法优化和递归;五级标准深入数据类型和标准库的使用;六级标准则涉及文件操作、数据可视化、面向对象编程和数据库基础。这些标准为青少年学习Python编程提供了清晰的指导和目标。
Windows安装My
SQL
指南[源码]
这篇指南详细介绍了如何在Windows电脑上从零开始安装My
SQL
数据库,包括下载安装包、运行安装向导、选择核心组件、配置服务器以及验证安装等步骤。此外,还提供了如何集成PHP、Python等工具的方法,并推荐了几款常用的图形化工具。最后,针对常见问题如无法连接服务器或忘记root密码等,给出了解决方案。通过本指南,用户可以在30分钟内完成My
SQL
的安装与基本配置,快速搭建起一个功能完善的数据库环境。
Win7安装Python建议[代码]
在Windows 7系统上安装Python时,推荐使用Python 3.8.x版本,因为它是最后一个官方支持Win7的版本,且安全更新支持持续至2024年10月。安装前需确保系统已更新至Service Pack 1 (SP1),并勾选`Add Python to PATH`以便命令行使用。若需更高版本Python,可尝试修改源码或使用非官方构建版本,但稳定性无法保证。长期建议升级操作系统以使用更新的Python版本,确保安全和开发效率。
VSCode搭建TensorFlow2.0[可运行源码]
本文详细介绍了如何在VSCode上搭建TensorFlow2.0环境。首先需要准备Anaconda和VSCode软件,并推荐使用清华镜像加速下载。接着,通过Anaconda创建和配置TensorFlow环境,包括检测安装、设置国内镜像代理、创建环境、安装TensorFlow包等步骤。最后,在VSCode中配置TensorFlow环境,包括选择Python解释器、安装必要包以及测试环境是否搭建成功。文章还提供了测试代码,展示了如何使用TensorFlow进行手写体识别,并附有相关代码的GitHub链接。
安卓项目源码Android吹一吹效果源码
安卓项目源码Android 吹一吹效果源码
MS-SQL Server
34,873
社区成员
254,640
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章