MySQL trim(concat ...)

Что не так с этим запросом?

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 Newbie... если есть лучший способ для этого запроса, я был бы признателен.

1 ответ

Попробуй это:

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
Другие вопросы по тегам