这种情况下,SQL语句怎么写?急急急!

问题描述

这种情况下,SQL语句怎么写?急急急! 2C
我有表table1 其中有字段 name 和 address。
这两个字段的值不可能相等,而且不同行它们的值也不会相等。
现在要实现一个功能:
我传入属于这两个字段的任意一个值,如果这个值与name或者address匹配。则将name或者address清空。
例如:name是 xiaoming,address 是beijing
name是xiaohong,address 是shanghai
我要求输入xiaohong,就将xiaohong清空。输入beijing就将beijing清空

解决方案

一定要在sql中写吗?这种一般是在代码里处理的吧。
一定要在sql中写的话,连续执行两个语句就可以了吧?
既然你输入的值不可能在两个字段里重复出现,就直接执行下面这两个语句啊。
update table set name = """" where name = #data#;
update table set address = """" where address = #data#;

解决方案二:
用or关键字呀,delete FROM table1 where name='' or address=''

解决方案三:
begin
if exists ( select * from tablename where name=@str)
begin
update tablename set name='' where name=@str
end
else
begin
if exists ( select * from tablename where address=@str)
begin
update tablename set name='' where address=@str
end
else
begin
select '没有匹配' as result
end
end
end

---- 其中@str是你传入的变量,tablename是你的表名

解决方案四:
可以用case when语法,判断哪个字段和值相等,就设置哪个字段为空

解决方案五:
急急

解决方案六:
update table
set name = (case when name = #data# then '' else name end)
address = (case when adress = #data# then '' else address end)
where ...

时间: 2025-01-29 20:59:31

这种情况下,SQL语句怎么写?急急急!的相关文章

sql asp net-这种情况的sql语句怎么写

问题描述 这种情况的sql语句怎么写 其中tk表中的fzjid与zj表中的id一致 选择"2 信息技术的发展和应用"能显示该知识点下的练习题,现在需要实现选择"第一章 信息及信息的获取"时显示所有该章节的所有练习题, 语句如下 sql = "select * from ttk where ftkzj=@zjid order by id desc"; SqlParameter[] p = new SqlParameter[] { new SqlPa

sql-求教大神下面这种查询情况的SQL语句怎么写?

问题描述 求教大神下面这种查询情况的SQL语句怎么写? 假如 我查询S-2339-001 这个型号,可以把把数据表的 S-2339001 S2339001 S-23390-01 型号查出来: 如果我查询S2339001 这个型号 能把数据表的 S-2339001 S-2339-001 这些数据查出来 解决方案 等号两边同时用replace函数就可以了,如replace(a,'-','')=replace(b,'-','') 解决方案二: sql语句交集情况的查询技巧 解决方案三: 最好是LIKE

检测排课冲突的SQL语句设计问题 急急急

问题描述 检测排课冲突的SQL语句设计问题 急急急 "Select A.*B.* FROM ABC AS A,ABC AS B WHERE a.ID<>b.ID and a.SKXQID=b.SKXQID and a.XQID=b.XQID and a.EZC>=b.BZC and ····························· 这是一个单表查询 表名为ABC 表大致是 课程 老师 班级 上课时间.地点 XX XX XX XXXX ··· ··· ··· ··· 这

这种情况下,SQL语句怎么写?求救!!!

问题描述 这种情况下,SQL语句怎么写?求救!!! 有表table1,它有两个字段c1,c2.这两个字段可能有值,也可能没有值,如果有值,我希望两个值用逗号分隔并输出,如果两个字段都没有值,我希望什么都不输出,我用了CONCAT方法CONCAT(CONCAT(c1,','),c2).但是都没有值得时候,仍然会输出一个逗号,这不是我想要的.有什么好的解决方法啊.求救 解决方案 case when c1 is null and c2 is not null then c2 when c1 is no

sql语句-mysql定时任务 写下SQL语句

问题描述 mysql定时任务 写下SQL语句 想让MYSQL里面的jpzh表里面的isstaus在晚上00定时更新 那个大侠 写下SQL语句 解决方案 CREATE EVENT e_testON SCHEDULE EVERY 1 DAYSTARTS '2014-12-04 00:00:00'DO UPDATE jpzh SET isstaus=.....; 从 2014-12-04 00:00:00 开始,每天做一次 解决方案二: 你的逻辑好像不太对,按常理开发模式,一般是从应用端控制时间,然后

数据-急!请教这个sql语句怎么写:两个条件查询,其中一个满足,另一个条件就不要加了

问题描述 急!请教这个sql语句怎么写:两个条件查询,其中一个满足,另一个条件就不要加了 条件2始终存在,条件1不一定始终有.条件1.条件2的数据可能同时存在,但是 当有条件1的数据存在的时候,显示条件1的数据: 如果没有,则显示条件2的数据的数据. 解决方案 select * from table where (条件1 and not exist (select * from table where 条件2)) or (条件2 and not exist (select * from tabl

比较时间的sql语句怎么写呀?在线等,急。

问题描述 我用的数据库是access,其中一个数据表"workorder"中duedate是短日期格式,比如2/13/2008,我现在希望取出这个数据表格中duedate日期小于ordertime的所有数据(例如:DateTimeordertime="2008-3-110:23:31"),请问这样的一个sql语句怎么写呀?谢谢了. 解决方案 解决方案二:access不太熟悉sql可以这么写:selectduedatefromworkorderwhereconvert

mysql-求助MySQL的关于sql语句怎么写??三表的查询~~~请大神进来帮忙~~~~~

问题描述 求助MySQL的关于sql语句怎么写??三表的查询~~~请大神进来帮忙~~~~~ 现在我有三个表: 表1: pre_common_member_profile: uid(用户的uid), gender(性别), birthyear(出生的年), birthmonth(出生的月), birthday(出生的日) 表2: pre_home_friend: uid(用户的uid), fuid(加为好友的uid) 表3: pre_home_friend_request: fuid(发送好友请求

select-如果某张表存在才去查询这张表,sql语句怎么写啊,一句话可以么

问题描述 如果某张表存在才去查询这张表,sql语句怎么写啊,一句话可以么 SELECT * FROM IF EXISTS A IF EXISTS A SELECT * FROM A 解决方案 可以,这个和数据库有关系,如果是oracle,你可以这样 select 1, decode( (select max(9) from user_tables where table_name='A'), 9, select 1 from A) from table 解决方案二: http://www.cnb