MySQL修剪(连接...)

标签 mysql sql select subquery notin

这个查询有什么问题?

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/

相关文章:

mysql - 我想在 mysql 数据库中获取逗号分隔的记录

php - SQL从表中选择并获取表名

SQL Server 2005 每个月的 GROUP BY 和 COUNT 查询

mysql - SQL注入(inject)中insert语句的用法

mysql - SELECT 复杂查询的相反行集

SQL COUNT 一个值出现了多少次

mysql - SQL授予创建表权限

mysql - Magento:为什么空表有重量?

php - Mysql Error updating record syntax to use near 't suit to the product which is described above' )' 在第 1 行

java - 'readingid' 中的未知列 'where clause'