Lo primero es ir al grano, tengo una tabla principal con aproximadamente 8 millones de datos los cuales están por razones de negocio con mas de 50 columnas el problema es que se necesita una consulta para descartar datos no coincidentes, para explicarme mejor tengo algo así parecido.
Tabla datos
Código:
Tengo una serie de datos con las mismas columnas anteriores con las que quiero eliminar las que no corresponden a la lista previa que tiene muchos datos y estoy realizando este query| Col1 | Col2 | Col3 | Col4 | Col5 | ....... | Col50 | 1 | 2 | AX | JC | OT | ....... | Perez | | 5 | 1 | AX | HC | OT | ....... | Perez | | 3 | 4 | AC | PO | YT | ....... | Perez | | 1 | 5 | AT | BC | YP | ....... | Perez | | 16 | 6 | AU | BY | OT | ....... | Lopez| | 21 | 2 | BX | CC | IT | ....... | Lopez| | 10 | 9 | AX | HC | YT | ....... | Lopez| . . .
Código:
Como se peude observar al realizar este tipo de consulta se crean muchas anidaciones el problema es que al ser tantos datos se demora demasiado al realizar esta consulta no se si se pueda replantear esta consulta de una manera mas eficaz agradezco quien pueda quemar un poco de tiempo en esto gracias. Select d.* from Datos d LEFT OUTER JOIN TablaCol1 tc1 on tc1.Col1 = d.Col1 LEFT OUTER JOIN TablaCol1 tc2 on tc1.Col2 = d.Col2 LEFT OUTER JOIN TablaCol1 tc3 on tc1.Col3 = d.Col3 LEFT OUTER JOIN TablaCol1 tc4 on tc1.Col4 = d.Col4 LEFT OUTER JOIN TablaCol1 tc5 on tc1.Col5 = d.Col5 ...... LEFT OUTER JOIN TablaCol1 tc50 on tc1.Col50 = d.Col50 Where tc1.Col1 is null and tc2.Col2 is null and tc3.Col3 is null and tc4.Col4 is null and tc5.Col5 is null .... and tc50.Col50 is null