Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Cannot resolve collation conflict for equal to operation (https://www.clubdelphi.com/foros/showthread.php?t=53132)

ocram 11-02-2008 22:58:20

Cannot resolve collation conflict for equal to operation
 
Que tal un saludo a todos, tengo un problema que me esta volviendo loco.
quiero hacer un left join entre 2 tablas de la misma base de datos y me da el error de "Cannot resolve collation conflict for equal to operation" aqui les pongo la consulta:

SELECT his_date, his_tour_id, procesado, sales_ctr_id, tsc_name, pareja, emp_id, emp, fk_config
FROM (SELECT dbo.tbaHis_Tour.his_date, dbo.tbaHis_Tour.his_tour_id, dbo.tbaHis_Tour.procesado, dbo.tbaHis_Tour.sales_ctr_id, dbo.tbaHis_Tour.tsc_name,
dbo.tbaHis_Tour.pareja, dbo.tbaHis_Employee.emp_id, dbo.tbaHis_Employee.emp, CONVERT(VARCHAR(50),
'comision,' + dbo.tbaHis_Employee.fk_tsr_role_name + ',' + CONVERT(varchar(50), dbo.tbaHis_Tour.sales_ctr_id)) AS fk_config
FROM dbo.tbaHis_Tour LEFT OUTER JOIN
dbo.tbaHis_Employee ON dbo.tbaHis_Tour.his_tour_id = dbo.tbaHis_Employee.fk_his_tour_id
WHERE (dbo.tbaHis_Tour.his_date = CONVERT(DATETIME, '2008-02-10 00:00:00', 102)) AND (dbo.tbaHis_Tour.procesado = 1) AND (dbo.tbaHis_Tour.pareja = 1) AND
(dbo.tbaHis_Employee.fk_tsr_role_name = 'TO' OR
dbo.tbaHis_Employee.fk_tsr_role_name = 'Main Line Rep')) AS p

Hasta aqui me devuelve perfectamente los datos que necesito pero cualdo quiero hacer un JOIN con otra tabla de la misma base de datos es cuando me aparece el error:

SELECT P.his_date, P.his_tour_id, P.procesado, P.sales_ctr_id, P.tsc_name, P.pareja, P.emp_id, P.emp, P.fk_config, dbo.tbaConfig.Valor
FROM (SELECT dbo.tbaHis_Tour.his_date, dbo.tbaHis_Tour.his_tour_id, dbo.tbaHis_Tour.procesado, dbo.tbaHis_Tour.sales_ctr_id, dbo.tbaHis_Tour.tsc_name,
dbo.tbaHis_Tour.pareja, dbo.tbaHis_Employee.emp_id, dbo.tbaHis_Employee.emp, CONVERT(VARCHAR(50),
'comision,' + dbo.tbaHis_Employee.fk_tsr_role_name + ',' + CONVERT(varchar(50), dbo.tbaHis_Tour.sales_ctr_id)) AS fk_config
FROM dbo.tbaHis_Tour LEFT OUTER JOIN
dbo.tbaHis_Employee ON dbo.tbaHis_Tour.his_tour_id = dbo.tbaHis_Employee.fk_his_tour_id
WHERE (dbo.tbaHis_Tour.his_date = CONVERT(DATETIME, '2008-02-10 00:00:00', 102)) AND (dbo.tbaHis_Tour.procesado = 1) AND (dbo.tbaHis_Tour.pareja = 1) AND
(dbo.tbaHis_Employee.fk_tsr_role_name = 'TO' OR
dbo.tbaHis_Employee.fk_tsr_role_name = 'Main Line Rep')) AS P INNER JOIN
dbo.tbaConfig ON P.fk_config = dbo.tbaConfig.Config
Aqui es cuando me sa ese error. Yo no veo porque me aparece esto si los dos campos son tipo varchar 50.

Agradezco de antemano

PepeLolo 11-02-2008 23:05:33

Buenas

El error se debe aque la "colletion" de las dos tablas o de los campos por los que realizas join no son identicos. Revisa en las tablas la propiedad "collation" y en los campos.

Un saludo.

suzely 11-10-2008 19:18:21

cambiar el collation de todas las tablas
 
visita este blogg talves te ayude el articulo publicado:

www.karen-suzely.blogspot.com

:):D:rolleyes::p


La franja horaria es GMT +2. Ahora son las 12:03:24.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi