这个查询有什么问题?
SELECT DISTINCT source,
source_description,
url
FROM staging_census
WHERE Trim(Concat(source, source_description, url)) NOT IN (SELECT
Trim(Concat(source,
source_description, url))
FROM dim_source);
目标是仅提取不存在 Source、Source_Description 和 URL 组合的记录(在我的情况下是这样)。但是,如果它只在一列中看到匹配项,则会忽略它。
MySQL 新手...如果有更好的查询方法,我将不胜感激。
最佳答案
试试这个:
SELECT DISTINCT Source, Source_Description, URL
FROM Staging_Census
WHERE CONCAT(TRIM(Source), TRIM(Source_Description0, TRIM(URL))) NOT IN (SELECT CONCAT(TRIM(Source), TRIM(Source_Description0, TRIM(URL))) FROM DIM_Source);
或
SELECT DISTINCT SC.Source, SC.Source_Description, SC.URL
FROM Staging_Censusc SC
LEFT JOIN DIM_Source DS ON (TRIM(SC.Source), TRIM(AC.Source_Description0, TRIM(SC.URL)) = (TRIM(DS.Source), TRIM(DS.Source_Description0, TRIM(DS.URL))
WHERE DS.DimsourceId IS NULL
关于MySQL修剪(连接...),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20416860/