数据-急!请教这个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 table where 条件1))

解决方案二:

查询条件是在查询的时候,查看该条记录是否符合条件。
而你提的问题是,要求查询逻辑的控制,是否使用条件2取决于条件1的查询结果。
所以还是要写成两条语句,在条件1没有数据的时候,再去第二次查询条件2。

时间: 2024-11-01 01:22:47

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

这句sql语句怎么写,才能在查询分析器中运行

问题描述 updateAcc_UserssetPassword='convert(varbinary(256),'123456')'whereNickNe='admin'上面是把加了密的二进制密码,改成我已知的,但写法有错,不知道怎么写了服务器:消息260,级别16,状态1,行1不允许从数据类型varchar到数据类型binary的隐性转换(表'DAOff.dbo.Accounts_Users',列'Password').请使用CONVERT函数来运行此查询. 解决方案 解决方案二:Passwo

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语句如何写?

问题描述 请教一个SQL语句如何写? 求助大侠:表A中有字段a,b,c,d,e,f,但并不是所有字段都一定有值,其中有值字段原值为'201xxxx'现在要将有值字段由'201xxxx'替换为'2001xxxx',无值字段保留为空,请问SQL语句如何写?(其中'201xxxx'中的xxxx代表数字,比如20101或201010101,位数不定,也可能只为201)请赐教. 解决方案 update [A] set [a] = left(a2)+'0'+right(alen(a)-2) [b] = le

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

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

读取数据表中第m条到第n条的数据,SQL语句怎么写?

原文:读取数据表中第m条到第n条的数据,SQL语句怎么写? 对于MySQL或者Oracle来说,如果实现从Table 表中取出第 m 条到第 n 条的记录操作,我们需要TOP函数(不是所有的数据库都支持TOP函数):Select Top子句 但是,你能想到几种方法? (1)使用not in Select TOP n-m+1 *  FROM Table  Where (id NOT IN (Select TOP m-1 id FROM Table ))     (2)使用exists  Selec

sql server-用jsp删除数据库数据时数据库无返回。但是如果SQL语句直接写出变量,返回删除成功了。

问题描述 用jsp删除数据库数据时数据库无返回.但是如果SQL语句直接写出变量,返回删除成功了. <% response.setContentType(""text/html""); request.setCharacterEncoding(""GBK""); response.setCharacterEncoding(""GBK""); String name = new Str

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

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

记录-请教个SQL语句问题。请大神指点

问题描述 请教个SQL语句问题.请大神指点 有个字段叫 作者姓名,该字段内内容为 "作者1,作者2,作者3",现在想把这个字段里面作者一样,但顺序不一样的记录查找出来,该怎么写? 比如就是 "张三,李四,赵五" ,但有的记录里面为"赵五,张三,李四",也不一定是这种顺序,就是名字完全一致,但排列的先后顺序不一样的字段. 更多 0 解决方案 写个存储过程,游标遍历,取出这个字段值,按逗号分隔,判断是否 一样 解决方案二: 非得在数据库中查么?按照每

discuz-Discuz 3.2 查询的sql语句怎么写?

问题描述 Discuz 3.2 查询的sql语句怎么写? 我在数据表里面加了一个sid,现在要以sid为条件去查询数据,这样写是错误的,,求正确写法!! 解决方案 string sql;sql="select 字段名xx,xx,xx from 数据表名"sql+="where xxx(主键名)="+articleid.ToString();