Conflicto con el operador equal to.

16/02/2004 - 18:12 por Jose | Informe spam
Hola, muchas gracias por leer mi exposición, ahora mismo
paso a comentar mi problema.
No se cual es la regla de oro que me estoy saltando en la
creación de esta vista (este es un resumen, pq el problema
está en la subconsulta):

CREATE VIEW VPedidos
AS
SELECT p.NUMPED, p.ESTADO
FROM DBExterna.dbo.PEDCAB p
WHERE p.numped not in (select tl.numped from TablaLocal tl)

El problema que devuelve al ejecutarla es:

"No se puede resolver el conflicto de intercalación para
el operador equal to."

La cuestión es que los dos campos son del mismo tipo:
varchar(14)
Si cambio la subconsulta por un valor exacto, funciona
correctamente.
Si lo cambio por cualquier otro campo común, falla, luego
debe de ser de las tablas.
Con la sentencia EXISTS p.numped = tl.numped sigue dando
el mismo error.
¿Cual es ese error tran grande que tengo ante las narices
y no veo?
¿Anda que si es un toro?.

Muchas gracias.
 

Leer las respuestas

#1 ulises
16/02/2004 - 18:29 | Informe spam
El problema es que estás tratando de comparar columnas que
tienen una intercalación diferente (sea nivel de tabla o
de columna), si obtienes un script de las tablas revisa
que intercalación maneja cada una de ellas), luego puedes
cambiarlas o indicar en forma explicita la intercalación
en la sentencia sql, si tienes el BOL en inglés revisa el
término collation.

Saludos,
Ulises

Hola, muchas gracias por leer mi exposición, ahora mismo
paso a comentar mi problema.
No se cual es la regla de oro que me estoy saltando en la
creación de esta vista (este es un resumen, pq el


problema
está en la subconsulta):

CREATE VIEW VPedidos
AS
SELECT p.NUMPED, p.ESTADO
FROM DBExterna.dbo.PEDCAB p
WHERE p.numped not in (select tl.numped from TablaLocal


tl)

El problema que devuelve al ejecutarla es:

"No se puede resolver el conflicto de intercalación para
el operador equal to."

La cuestión es que los dos campos son del mismo tipo:
varchar(14)
Si cambio la subconsulta por un valor exacto, funciona
correctamente.
Si lo cambio por cualquier otro campo común, falla, luego
debe de ser de las tablas.
Con la sentencia EXISTS p.numped = tl.numped sigue dando
el mismo error.
¿Cual es ese error tran grande que tengo ante las narices
y no veo?
¿Anda que si es un toro?.

Muchas gracias.
.

Preguntas similares