sql - 如何在另一列的基础上写一个where?
问题描述
我有两列的表:col1
和col2
。
我想创建选择返回所有行,除了我有col1 != foobar
ANDcol2
是bar_id
or foo_id
。
但无论我做什么,它都不起作用:
select * from table1 where col1 != 'foobar' and (col2 = 'bar_id' or col2 = 'foo_id')
select * from table1 where (col2 = 'bar_id' or col2 = 'foo_id') and col1 = 'foobar'
SELECT * FROM table1 WHERE NOT col1 = 'foobar' AND (col2 = 'bar_id' OR col2 = 'foo_id');
那么我应该如何编写正确的sql select呢?我想('foobar', 'foo_id'), ('foobar', 'bar_id')
从结果中删除。
预期结果:
CREATE TABLE Table1
([col1] varchar(6), [col2] varchar(11))
;
INSERT INTO Table1
([col1], [col2])
VALUES
('bar', 'text'),
('foo', 'foo_id'),
('foo', 'description'),
('foobar', 'foo_id'),
('foobar', 'bar_id'),
('foobar', 'update')
;
解决方案
尝试一下
SELECT * FROM table1 WHERE NOT col1 = 'foobar' AND (col2 = 'bar_id' OR col2 = 'foo_id');
推荐阅读
- javascript - WebRTC setRemoteDescription 错误
- powershell - 如何在PowerShell中为自定义对象创建自定义方法和项目?
- java - 休眠选择每个组的顶行
- python - FCBF Python 特征选择技术
- python - 卷积神经网络性能的奇怪模式
- node.js - NodeJS:检测用户是否对文件具有读取权限
- javascript - $.each 函数替换为 for 循环
- c# - EF5 IQueryable 不包含 ToListAsync 的定义
- react-router - react-router 内联渲染道具(Auth0 回调)
- php - MySQL 不执行更新