Campos de distintas tablas
Publicado por FRANCISCO (4 intervenciones) el 05/06/2020 01:44:08
Buenas a todos:
Este es mi primera consulta en el foro.
Mi problema es el siguiente.
Estoy haciendo una consulta con distintas tablas enlazadas con inner join o left join.....
Lo que quiero es dependiendo de si existe cierta linea en una tabla, muestre los campos de esa tabla, sino muestre los campos equivalentes de otra.
Mi consulta es la siguiente:
He probado distintas formas, pero no he consiguido hacerlo.
Además consultar no es fácil para este problema.
No es como consultar la sintaxis de una instrucción.
Saludos y muchas gracias
Este es mi primera consulta en el foro.
Mi problema es el siguiente.
Estoy haciendo una consulta con distintas tablas enlazadas con inner join o left join.....
Lo que quiero es dependiendo de si existe cierta linea en una tabla, muestre los campos de esa tabla, sino muestre los campos equivalentes de otra.
Mi consulta es la siguiente:
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
42
43
44
45
46
47
DECLARE @FECHA DATETIME;
SET @FECHA = '04/06/2020';
select AlbVentaCab.NumSerie AS SERIE
,AlbVentaCab.NumAlbaran AS NUMERO
,AlbventaCab.CODCLIENTE
,Clientes.NombreCliente AS NOMBRE
,AlbVentaCab.NBULTOS
,albventacab.TRANSPORTE AS CODTRANSPORTE
,transportes.NOMBRE AS EMPRESAENVIO
,etiquetasenvio.IMPRESO
,etiquetasenvio.OBSERVACIONES
,etiquetasenvio.NUMPARTIDA
-------------------------------------------------------------------------------------------------------------------------
-- poner estos campos si existe una linea en la tabla etiquetasenvio, para los valores :
-- Etiquetasenvio,serie = AlbVentaCab.NumSerie y
-- Etiquetaenvio.numero = AlbVentaCab.NumAlbaran
,etiquetaenvio.NOMBRECOMERCIAL
,etiquetaenvio.DIRECCION1 AS DIRECCION
,etiquetaenvio.CODPOSTAL
,etiquetaenvio.POBLACION
,......
-- En caso contrario, deberá poner los valores de los campos
,clientesenvio.NOMBRECOMERCIAL
,clientesenvio.DIRECCION1 AS DIRECCION
,clientesenvio.CODPOSTAL
,clientesenvio.POBLACION
,........
-----------------------------------------------------------------------------------------
from albventacab
inner join clientes on clientes.codcliente = albventacab.codcliente
inner join clientesenvio on ((albventacab.codcliente = clientesenvio.codcliente) AND (albventacab.codenvio = clientesenvio.codenvio))
left join transportes on albventacab.transporte = transportes.codigo
left join etiquetasenvio on (albventacab.numserie = etiquetasenvio.serie and albventacab.numalbaran = etiquetasenvio.numero and albventacab.n = etiquetasenvio.n)
where ((albventacab.fecha = @FECHA) or (etiquetaenvio.FechaEnvio= @Fecha))
order by NUMSERIE, NUMALBARAN
He probado distintas formas, pero no he consiguido hacerlo.
Además consultar no es fácil para este problema.
No es como consultar la sintaxis de una instrucción.
Saludos y muchas gracias
Valora esta pregunta


0