【发布时间】:2019-03-10 16:04:20
【问题描述】:
我正在使用
SELECT PMID, PMCID
FROM Publications
INNER JOIN STRING_SPLIT('29535196,29533737,29425496,28495678,26688618' ,',') ON value = Publications.PMID
这很适合提取我在Publications 表中的出版物,但是有没有办法重组查询以显示缺少哪些值?这意味着如果 29533737 不在数据库中,那么我的结果将是 29533737。过去,如果您检查两个表是否包含所有记录,则类似于 SQL Query to find missing rows between two related tables
如何使用逗号分隔的字符串?我是否必须制作一个临时表,然后处理缺失的行?
谢谢
测试代码:
SELECT value
FROM STRING_SPLIT('1234567, 29535196,29533737,29425496,28495678,26688618' ,',') AS v
LEFT JOIN Publications p ON v.value = p.PMID
WHERE p.PMID IS NULL;
【问题讨论】:
标签: sql sql-server-2016