我想仅使用项目列表来查找表中的命中和未命中,而不必创建新表来包含列表项并且不使用任何脚本。我一整天都在做很多临时查询,所以这很有用。
这是我现在使用的示例:
SELECT custid, name, email
FROM customers
WHERE custid IN
('1111', '2222', '3333', '4444')
Run Code Online (Sandbox Code Playgroud)
这将返回客户表中的所有条目,其中客户 ID 与我提供的列表中的条目相匹配。
我想找到一种方法来返回像 OUTER JOIN 这样的结果,在那里我可以看到匹配和未命中。
仅供参考:我正在使用 MS SQL Server,但能够在 mySQL 中执行此操作也很有用。谢谢!
使用用户定义的函数从逗号分隔的值列表生成表。然后您可以对列表进行外连接,如下所示:
select customers.custid, name, email
from customers
left outer join dbo.get_id_table('1111', '2222', '3333', '4444') as ids
on (customers.custid = ids.custid)
Run Code Online (Sandbox Code Playgroud)
这里和网络上的其他地方发布了“get_id_table”类型函数的多个版本(抱歉 - 我现在无法提供链接)。
| 归档时间: |
|
| 查看次数: |
13496 次 |
| 最近记录: |