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

Preguntas similare

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




Respuesta Responder a este mensaje
#2 Nery Gonzalez
12/07/2005 - 01:35 | Informe spam
Al final de todo, no digiste que es lo que necesitas o sobre que es la duda
que tenes.


"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




Respuesta Responder a este mensaje
#3 Maxi
12/07/2005 - 02:09 | Informe spam
Hola, y cual es el problema o la duda?


Maxi - Buenos Aires - Argentina
Desarrollador 3 Estrellas

Msn_messager:
mail: Maxi.da[arroba]gmail.com

"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




Respuesta Responder a este mensaje
#4 Kinomakino
13/07/2005 - 09:45 | Informe spam
LA DUDA ES COMO HACER ESE CAMPO CALCULADO.
NO TENGO APENAS IDEA DE SQL

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 ?








"Maxi" escribió en el mensaje
news:
Hola, y cual es el problema o la duda?


Maxi - Buenos Aires - Argentina
Desarrollador 3 Estrellas

Msn_messager:
mail: Maxi.da[arroba]gmail.com

"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








Respuesta Responder a este mensaje
#5 Nery Gonzalez
13/07/2005 - 17:08 | Informe spam
Proba esto

Update d Set d.alba_dto_neto = Round(IsNull(d.ALB2_TOTAL) -
(IsNull(d.ALB2_TOTAL, 0) * (IsNull(e.ALBA_DTO_FINANCIERO,0) +
IsNull(e.ALBA_DTO_GRAL_1,0) + IsNull(e.ALBA_DTO_GRAL_2,0))), 2)
From CABECERA_ALBARAN e Inner Join LINEA_ALBARAN d
On e.TIAL_CODIGO = d.TIAL_CODIGO And e.ALBA_NUMERO = d.ALBA_NUMERO



"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




Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida