valor tablas son resaltar repetidos que para otra mostrar iguales igual hojas extraer encontrar diferentes diferencias devolver cruzar comparar como columnas celdas sql sql-server

sql - tablas - comparar dos columnas en excel y resaltar repetidos



Compara columnas donde una es similar a una parte de otra (7)

Cambie los argumentos a LIKE en la cláusula WHERE :

SELECT ID, FullName, FirstName FROM tblNames WHERE Fullname not like ''%'' + FirstName + ''%''

El comodín debe ser el segundo argumento.

Estoy tratando de escribir una declaración Select donde pueda ver si una columna es como parte de otra.

tblNames ID FullName FirstName 1 Mr. John Doe, CEO John 2 Mr. Jake Doe, Exec Jake 3 Mrs. Betty Smith, Chair Jill

La consulta debe devolver:

3 | Mrs.Betty Smith, Chair | Jill

Sin embargo el mío simplemente devuelve cada fila en la tabla:

SELECT ID, FullName, FirstName FROM tblNames WHERE ''%'' + FirstName + ''%'' not like Fullname

¿Algunas ideas?



Invertir el dónde, a algo como esto:

Fullname not like ''%'' + FirstName + ''%''


Los paréntesis también habrían solucionado el problema.

SELECT ID, FullName, FirstName FROM tblNames WHERE (''%'' + FirstName + ''%'') not like Fullname


Oracle espera un número cuando se usa +. Para la cuerda, por favor use el samle a continuación:

SELECT ID, FullName, FirstName FROM tblNames WHERE FullName like ''%'' || FirstName||''%''

Para comparar una columna de una tabla con una columna de otra tabla, haga lo siguiente

select a.*,table_2_col_1, table_2_col_2 from (select table_1_col_1, table_1_col_2 from table_1 where ) a, table_2 where table_1_col_1 like ''%'' || table_2_col_1 ||''%''


Prueba esto:

SELECT * FROM tblNames WHERE ISNULL( CHARINDEX (FirstName , FullName),0) = 0

CHARINDEX será más rápido (más eficaz) que una cláusula LIKE, ya que no tiene que tener en cuenta los comodines. Los datos de muestra anteriores con un pequeño número de filas no mostrarán un beneficio de rendimiento, pero cuando en los millones de filas, CHARINDEX obtendría mejores resultados.


Se ve bien, excepto que probablemente quieras cambiar el orden en tu ubicación:

WHERE Fullname not like ''%'' + FirstName + ''%''