SQL用一个字段排除另一个字段如何做
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL用一个字段排除另一个字段如何做相关的知识,希望对你有一定的参考价值。
表中有A,B两字段,要的结果是排除B字段中等于02的A字段,表名为 table
字段 :
A B
张三 01
张三 02
张三 03
李四 01
李四 03
王二 05
结果
A B
李四 01
李四 03
李四 04
王二 05
不行,按照你给的内容求出的答案是
A B
张三 01
张三 03
李四 01
李四 03
王二 05
你运行了吗?
保证不是这样的
select A from 表名 where B=\'02\' --这个查出来的是张三
select * from 表名 where A not in (\'张三\')
得出来的是除了张三外的结果
因为字段内容写得较少,如果是几万条,not in(\'张三\')会写死掉的
参考技术Adeclare @table table(
A varchar(4),
B varchar(2)
)
insert into @table
select '张三','01' union all
select '张三','02' union all
select '张三','03' union all
select '李四','01' union all
select '李四','03' union all
select '王二','05'
select A,B from @table where B<>'02'
SQL:基于另一个字段值的条件字段输出
【中文标题】SQL:基于另一个字段值的条件字段输出【英文标题】:SQL: Conditional Field output based on another field's value 【发布时间】:2015-02-24 22:50:44 【问题描述】:我有一个有趣的情况。我的表有一个名为“折扣”的数字字段。它是一个整数。我的表有另一个名为“isPercent”的布尔字段。
我想选择折扣字段,假设值为 50。
如果 isPercent 为 TRUE,我想将其输出为“50%”,否则我想将其输出为 Money“$50”。
我如何“有条件地选择”这个?
【问题讨论】:
【参考方案1】:您已经存储了布尔值。只需在上面做一个 if 并连接正确的符号:
MySQL
select if(isPercent, concat(discount, '%'), concat('$', discount)) from ...
PostgreSQL
SELECT CASE
WHEN isPercent THEN discount || '%'
ELSE '$' || discount END
FROM ...
【讨论】:
以上是关于SQL用一个字段排除另一个字段如何做的主要内容,如果未能解决你的问题,请参考以下文章