Dudas en SQL...

11/07/2005 - 19:44 por Kinomakino | Informe spam
Buenas a todos...

Tengo un gran problema que espero tengan a bien ayudarme...

tengo estas 2 tablas:

CREATE TABLE [dbo].[LINEA_ALBARAN] (
[TIAL_CODIGO] [nvarchar] (3) COLLATE Modern_Spanish_CI_AS NULL ,
[ALBA_NUMERO] [nvarchar] (7) COLLATE Modern_Spanish_CI_AS NULL ,
[ALB2_LINEA] [nvarchar] (4) COLLATE Modern_Spanish_CI_AS NULL ,
[ARTI_CODIGO] [nvarchar] (14) COLLATE Modern_Spanish_CI_AS NULL ,
[ARTI_COD_EXT] [nvarchar] (4) COLLATE Modern_Spanish_CI_AS NULL ,
[ALB2_CANTIDAD] [nvarchar] (255) COLLATE Modern_Spanish_CI_AS NULL ,
[ALB2_UNIDADES] [nvarchar] (255) COLLATE Modern_Spanish_CI_AS NULL ,
[ALB2_BRUTO] [nvarchar] (255) COLLATE Modern_Spanish_CI_AS NULL ,
[ALB2_TOTAL] [float] NULL ,
[alba_dto_neto] [float] NULL
) ON [PRIMARY]
GO

-
CREATE TABLE [dbo].[CABECERA_ALBARAN] (
[TIAL_CODIGO] [nvarchar] (3) COLLATE Modern_Spanish_CI_AS NULL ,
[ALBA_NUMERO] [nvarchar] (7) COLLATE Modern_Spanish_CI_AS NULL ,
[ALBA_FECHA] [smalldatetime] NULL ,
[ALBA_DTO_FINANCIERO] [decimal](3, 0) NULL ,
[ALBA_DTO_GRAL_1] [decimal](3, 0) NULL ,
[ALBA_DTO_GRAL_2] [decimal](3, 0) NULL ,
[ALBA_T_FINAL] [float] NULL ,
[ALBA_ENTREGA_CTA] [float] NULL ,
[TIFA_CODIGO] [nvarchar] (3) COLLATE Modern_Spanish_CI_AS NULL ,
[FACT_NUMERO] [nvarchar] (7) COLLATE Modern_Spanish_CI_AS NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO

En la tabla "cabecera_albaran" almeceno en los campos "alba_dto_financiero",
"alba_dto_gral_1" y " alba_dto_gral_2" tantos por cientos de descuento
sobre el precio de los productos de los albaranes.

en la tabla "linea_albaran", debo almecenar en el campo "alba_dto_neto", el
valor de "linea_albaran.ALB2_TOTAL" menos los descuentos indicados a nivel
de de cabecera de albaran.Es decir, que si tengo una linea de albaran, que
en ALB2_TOTAL tengo el valor 100 ?, pero tengo un descuento del 5 % a nivel
de cabecera de albaran, de un 5 % ( por ejemplo, en alba_dto_financiero),
tengo que saber que "linea_albaran.alba_dto_neto" es igual a 95 ?

Las P.K´s de las tablas son:
linea_albaran: tial_codigo,alba_numero y alb2_linea
cabecera_albaran:tial_codigo, alba_numero.

Todo esto va en un procedure, por lo que no me importa la utilización de
tablas temporales, etc...

El marrón es ese, y no me vale la solución de montar las tablas de otra
manera, como yo lo haría, porque este "marron " es de un software muy
antiguo, y por eso este retoque...

Muchas gracias a todos, y perdonad por el roooollazo de lineas de albaran,
cabeceras, descuentos que os he soltado
 

Leer las respuestas

#1 Jorge Martinez
11/07/2005 - 23:07 | Informe spam
Has valorado el uso de Triggers?.
De todas formas no comprendo cual es el problema, gestionas tu las
insercciones desde un SP?

SalU2


"Kinomakino" escribió en el mensaje
news:
Buenas a todos...

Tengo un gran problema que espero tengan a bien ayudarme...

tengo estas 2 tablas:

CREATE TABLE [dbo].[LINEA_ALBARAN] (
[TIAL_CODIGO] [nvarchar] (3) COLLATE Modern_Spanish_CI_AS NULL ,
[ALBA_NUMERO] [nvarchar] (7) COLLATE Modern_Spanish_CI_AS NULL ,
[ALB2_LINEA] [nvarchar] (4) COLLATE Modern_Spanish_CI_AS NULL ,
[ARTI_CODIGO] [nvarchar] (14) COLLATE Modern_Spanish_CI_AS NULL ,
[ARTI_COD_EXT] [nvarchar] (4) COLLATE Modern_Spanish_CI_AS NULL ,
[ALB2_CANTIDAD] [nvarchar] (255) COLLATE Modern_Spanish_CI_AS NULL ,
[ALB2_UNIDADES] [nvarchar] (255) COLLATE Modern_Spanish_CI_AS NULL ,
[ALB2_BRUTO] [nvarchar] (255) COLLATE Modern_Spanish_CI_AS NULL ,
[ALB2_TOTAL] [float] NULL ,
[alba_dto_neto] [float] NULL
) ON [PRIMARY]
GO

-
CREATE TABLE [dbo].[CABECERA_ALBARAN] (
[TIAL_CODIGO] [nvarchar] (3) COLLATE Modern_Spanish_CI_AS NULL ,
[ALBA_NUMERO] [nvarchar] (7) COLLATE Modern_Spanish_CI_AS NULL ,
[ALBA_FECHA] [smalldatetime] NULL ,
[ALBA_DTO_FINANCIERO] [decimal](3, 0) NULL ,
[ALBA_DTO_GRAL_1] [decimal](3, 0) NULL ,
[ALBA_DTO_GRAL_2] [decimal](3, 0) NULL ,
[ALBA_T_FINAL] [float] NULL ,
[ALBA_ENTREGA_CTA] [float] NULL ,
[TIFA_CODIGO] [nvarchar] (3) COLLATE Modern_Spanish_CI_AS NULL ,
[FACT_NUMERO] [nvarchar] (7) COLLATE Modern_Spanish_CI_AS NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO

En la tabla "cabecera_albaran" almeceno en los campos


"alba_dto_financiero",
"alba_dto_gral_1" y " alba_dto_gral_2" tantos por cientos de descuento
sobre el precio de los productos de los albaranes.

en la tabla "linea_albaran", debo almecenar en el campo "alba_dto_neto",


el
valor de "linea_albaran.ALB2_TOTAL" menos los descuentos indicados a


nivel
de de cabecera de albaran.Es decir, que si tengo una linea de albaran, que
en ALB2_TOTAL tengo el valor 100 ?, pero tengo un descuento del 5 % a


nivel
de cabecera de albaran, de un 5 % ( por ejemplo, en alba_dto_financiero),
tengo que saber que "linea_albaran.alba_dto_neto" es igual a 95 ?

Las P.K´s de las tablas son:
linea_albaran: tial_codigo,alba_numero y alb2_linea
cabecera_albaran:tial_codigo, alba_numero.

Todo esto va en un procedure, por lo que no me importa la utilización de
tablas temporales, etc...

El marrón es ese, y no me vale la solución de montar las tablas de otra
manera, como yo lo haría, porque este "marron " es de un software muy
antiguo, y por eso este retoque...

Muchas gracias a todos, y perdonad por el roooollazo de lineas de albaran,
cabeceras, descuentos que os he soltado




Preguntas similares