UPDATE DE TABLA USANDO DOS BASE DE DATOS
Publicado por Jaime (1 intervención) el 03/07/2018 18:52:55
Buenas
Soy algo novato en SQl Server, les explico lo que hago.
Tengo 2 base de datos, con una tabla cada una
Base datos 1 = MI
Tabla= tblPolizas
Base de datos 2 = Seguros
tabla = poliza
estoy intentando actualizar los datos de una columna en la tabla poliza , extrayendo información de la tabla tblPolizas, con el siguiente scrip
Este me arroja el siguiente error
Mens. 4104, Nivel 16, Estado 1, Línea 43
El identificador formado por varias partes "MI.dbo.tblPolizas.NumeroPoliza" no se pudo enlazar.
Intenté ponerle un from antes del ultimo where
y obtengo el siguiente error
Mens. 468, Nivel 16, Estado 9, Línea 45
No se puede resolver el conflicto de intercalación entre "SQL_Latin1_General_CP1_CI_AS" y "Modern_Spanish_CI_AS" de la operación equal to.
Modifique el where con el Collate y obtengo el siguiente error
Mens. 512, Nivel 16, Estado 1, Línea 3
La subconsulta ha devuelto más de un valor, lo que no es correcto cuando va a continuación de =, !=, <, <=, >, >= o cuando se utiliza como expresión.
Se terminó la instrucción.
Advertencia: valor NULL eliminado por el agregado u otra operación SET.
Necesito ayuda, si alguno me puede indicar cual es el problema, se los agradecería mucho
Soy algo novato en SQl Server, les explico lo que hago.
Tengo 2 base de datos, con una tabla cada una
Base datos 1 = MI
Tabla= tblPolizas
Base de datos 2 = Seguros
tabla = poliza
estoy intentando actualizar los datos de una columna en la tabla poliza , extrayendo información de la tabla tblPolizas, con el siguiente scrip
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
UPDATE seguros.dbo.poliza
SET saldo =
(
SELECT
Sum(produccion.Prima_Neta) as Suma
FROM
(SELECT
IdPoliza,
NumeroPoliza,
--CONVERT(varchar(10), hasta, 101) AS FechaEmision,
SUM(PrimaNeta) AS Prima_Neta
FROM
dbo.tblPolizas
GROUP BY
IdPoliza,
NumeroPoliza
--hasta
UNION ALL
SELECT
dbo.tblAdendos.IdPoliza,
Polizas_1.NumeroPoliza,
--CONVERT(varchar(10), dbo.tblAdendos.hasta, 101) AS FechaEmision,
sum(dbo.tblAdendos.PrimaNeta) AS Prima_Neta
FROM
dbo.tblAdendos
LEFT JOIN dbo.tblPolizas AS polizas_1 ON dbo.tblAdendos.IdPoliza = polizas_1.IdPoliza
GROUP BY
dbo.tblAdendos.IdPoliza,
NumeroPoliza
--dbo.tblAdendos.hasta
) AS produccion
group by
produccion.IdPoliza,
produccion.NumeroPoliza
--produccion.FechaEmision
--ORDER BY NumeroPoliza desc
)
WHERE seguros.dbo.poliza.poliza = MI.dbo.tblPolizas.NumeroPoliza
Este me arroja el siguiente error
Mens. 4104, Nivel 16, Estado 1, Línea 43
El identificador formado por varias partes "MI.dbo.tblPolizas.NumeroPoliza" no se pudo enlazar.
Intenté ponerle un from antes del ultimo where
1
2
From MI.dbo.tblPolizas
WHERE seguros.dbo.poliza.poliza = MI.dbo.tblPolizas.NumeroPoliza
y obtengo el siguiente error
Mens. 468, Nivel 16, Estado 9, Línea 45
No se puede resolver el conflicto de intercalación entre "SQL_Latin1_General_CP1_CI_AS" y "Modern_Spanish_CI_AS" de la operación equal to.
Modifique el where con el Collate y obtengo el siguiente error
1
2
From MI.dbo.tblPolizas
WHERE seguros.dbo.poliza.poliza COLLATE DATABASE_DEFAULT = MI.dbo.tblPolizas.NumeroPoliza COLLATE DATABASE_DEFAULT
Mens. 512, Nivel 16, Estado 1, Línea 3
La subconsulta ha devuelto más de un valor, lo que no es correcto cuando va a continuación de =, !=, <, <=, >, >= o cuando se utiliza como expresión.
Se terminó la instrucción.
Advertencia: valor NULL eliminado por el agregado u otra operación SET.
Necesito ayuda, si alguno me puede indicar cual es el problema, se los agradecería mucho
Valora esta pregunta
0