sql - 从另一个表中的任何行中选择包含数据的行
问题描述
我正在尝试返回包含另一个表中的任何值的所有电子邮件地址。
SELECT EMAIL
FROM
DBO.EMAIL_ADDRESSES AS A,
DBO.EMAIL_VALUE_LOOKUP AS B
WHERE
POSITION(B.EMAIL_VALUE IN A.EMAIL) <> 0
解决方案
让我们向前推进大约 30 年:
SELECT e.email
FROM
dob.email_addresses e
INNER JOIN dbo.email_value_lookup l ON e.email LIKE '%' + l.email_value + '%'
您可能也想使用 DISTINCT,就好像电子邮件匹配多个不同的值一样,它们将被重复。这可以通过使用协调的 Exists 查询来隐式完成:
SELECT e.email
FROM
dob.email_addresses e
WHERE EXISTS(
SELECT null FROM dbo.email_value_lookup l WHERE e.email LIKE '%' + l.email_value + '%')
推荐阅读
- python - python GMMHMM 拟合(X)
- powershell - Copy-item 脚本的问题
- php - 由于数组数据类型错误,无法插入 mysql 表
- javascript - 如何在 JS 代码中获取 badrequest 消息
- android - 未定义对 sdl_function Android Studio 的引用
- google-cast - 从 Android 上的 Chrome 连接时接收器重新加载
- cpanel - cPanel 网络邮件不接收或发送邮件
- c# - 如何在 RadialGradientBrush 中添加超过 3 个 GradientStop
- python - 如何在python中定义具有类数据类型的矩阵?
- kalman-filter - 扩展卡尔曼滤波器(EKF):为测量和估计添加偏差