sql - 在源表中使用范围条件选择的 SQL 查询
问题描述
有一个场景可以从源表中存在范围条件的表中选择值。
像,
TableA
ID value condition
1 20 A-M
2 50 N-Z
Select value from TableA where condition = 'C%'
--want to select TableA value from TableB by passing person name starts with like,
-- Here C is item name starts with
-- Should compare with range (A-M) and return first row.
-- Condition column is varchar(3)
我在其他方式上看到了解决方案,可以将范围与输入值进行比较,但这里范围存在于源表中。请帮忙。
解决方案
如果我正确理解了您的需求,您可以使用
SELECT TOP 1 B.*
FROM TableB B
WHERE B.Name LIKE (SELECT CONCAT('[',condition,']%') FROM TableA WHERE ID =1)
ORDER BY B.Id
推荐阅读
- ios - SwiftUI 只显示黑屏
- html - 如何使用 CSS 使页脚元素的宽度相同
- php - 使用 PHP 更新表会覆盖 CSS 格式
- c# - 如何针对 POST 的无效数据类型发送用户友好的错误消息?
- python - Kivy 应用无法在安卓手机上运行,但它可以在电脑上运行
- php - 根据星期几确定重叠的时间范围
- express - 如何在 nextjs api 路由中访问快速服务器会话?
- azure-iot-hub - 如果那里已经有不同的记录,则 Azure IoT 设备更新以报告孪生属性失败
- simpleitk - SimpleITK OrientedBoundingBoxVertices - 在什么坐标系中定义顶点?
- python - 如何将 Windows 命令提示符嵌入到 tkinter 应用程序中?