sql - SQL返回数据或根据特定记录号过滤数据
问题描述
我正在尝试让 SQL 根据我的 PL 编号提取数据,这就是我所拥有的:
*SELECT [ROUTE_ID]
,[LINE_ID]
,[EVENT_ID]
,[DESCRIPTION]
,[SEQUENCE]
,[TYPE_CL]
,[CURRENT_INDICATOR_LF]
,[PREVIOUS_ROUTE_ID]
,[EFFECTIVE_FROM_DATE]
,[EFFECTIVE_TO_DATE]
,[ORIGINAL_ROUTE_ID]
,[PODS_USER]
,[CREATE_DATE]
,[INTERSTATE_LF]
,[RECORD_UPDATE_USER]
,[RECORD_UPDATE_DATE]
,[JURISDICTION_CL]
,[USE_CL]
,[PRODUCT_CL]
,[MXLOCATIONID]
,[MXFLAG_CL]
,[MXID]
FROM [WBI_PODS_PROD].[dbo].[ROUTE]
where MXLOCATIONID like 'PL10';
where MXLOCATIONID like 'PL100';
where MXLOCATIONID like 'PL1000';
where MXLOCATIONID like 'PL1001';
where MXLOCATIONID like 'PL1002';
where MXLOCATIONID like 'PL1003';
where MXLOCATIONID like 'PL1004';
where MXLOCATIONID like 'PL1005';
where MXLOCATIONID like 'PL1006';
where MXLOCATIONID like 'PL1007';
where MXLOCATIONID like 'PL1008';
where MXLOCATIONID like 'PL1009';
where MXLOCATIONID like 'PL101';
where MXLOCATIONID like 'PL1010';
where MXLOCATIONID like 'PL1011';
where MXLOCATIONID like 'PL1012';*
这只是一个片段,因为我需要返回的总数是 1998 条记录,并以特定顺序达到特定 PL 编号。但是这失败了,我做错了什么。有人可以为我制作正确的东西来放置 PL 号码吗?
解决方案
where 子句的语法对于一件事是错误的。应该是这样的:
where MXLOCATIONID like 'PL10' or MXLOCATIONID like 'PL100' ... etc...
此外,您没有使用通配符 (%),因此它并不是真正有用。但是更好的解决方案是创建另一个查找表并将这些字符串放在那里。就像是:
create table location ( locationID varchar(100) );
insert into location values ('PL10');
insert into location values ('PL100');
...etc...
更改 where 子句:
where MXLOCATIONID in ( select locationID from location) ...
推荐阅读
- angular - 在动态 Angular 组件中导入模块和调用方法
- python - 如何使用python测试txt文件中的特定行
- python-3.x - Python Pandas:支持 25 小时的日期时间索引
- javascript - 如何处理 mapWith TransformationType 中的承诺?[@nartc/automapper]
- arrays - 第二个数组中的任何事件发生后 w 分钟内一个数组中的事件数
- python - 检查用户是否登录了firebase python
- wordpress - Wordpress wp.media 在对象中返回错误的图像大小
- c# - 如何使用 VS Code 在我的 .Net Core 项目中手动安装包/引用
- c# - Visual Studio Formatting — 命名空间中的颜色对象
- python - 将变量从 python 脚本的函数导入另一个 python 脚本