Estoy poniendo alguna burrada?¿

24/11/2004 - 16:19 por ADA | Informe spam
SELECT D.NOMBRE, A.ANO, C.NOMBRE, B.NOMBRE, A.NENTRADA, A.NUMERO, A.FSALIDA,
A.DELEGACION, A.CAMION, A.ORIGEN, A.DESTINO, A.MERCANCIA, A.TOTAL,
A.TONELADAS
FROM M_ASICAR A
LEFT JOIN M_MERCAN D ON A.MERCANCIA = D.CODIGO
LEFT JOIN M_DESTIN C ON A.DESTINO = C.CODIGO
LEFT JOIN M_DESTIN B ON A.ORIGEN = B.CODIGO
WHERE
(A.FSALIDA BETWEEN '01/01/03' AND '12/31/03') AND
(B.PROVINCIA = '28') AND
(C.PROVINCIA = '15') OR
(C.PROVINCIA = '27') OR
(C.PROVINCIA = '36')

ORDER BY A.FSALIDA ASC


LLevo ya horas y esto no me hace caso, hay alguna incoorencia en el codigo,
los left join estan bien echos?¿

Preguntas similare

Leer las respuestas

#1 Maxi
24/11/2004 - 16:28 | Informe spam
Ada, no explicas muy bien el problema, pero ya veo algo que anda mal ahi y
es la fecha.

Las mismas las deberias pasar en formato ANSI, el codigo quedaria de esta
forma:

SELECT D.NOMBRE, A.ANO, C.NOMBRE, B.NOMBRE, A.NENTRADA, A.NUMERO, A.FSALIDA,
A.DELEGACION, A.CAMION, A.ORIGEN, A.DESTINO, A.MERCANCIA, A.TOTAL,
A.TONELADAS
FROM M_ASICAR A
LEFT JOIN M_MERCAN D ON A.MERCANCIA = D.CODIGO
LEFT JOIN M_DESTIN C ON A.DESTINO = C.CODIGO
LEFT JOIN M_DESTIN B ON A.ORIGEN = B.CODIGO
WHERE
(A.FSALIDA BETWEEN '20030101' AND '20031231') AND
(B.PROVINCIA = '28') AND
(C.PROVINCIA = '15') OR
(C.PROVINCIA = '27') OR
(C.PROVINCIA = '36')

ORDER BY A.FSALIDA ASC



Salu2
Maxi


"ADA" escribió en el mensaje
news:
SELECT D.NOMBRE, A.ANO, C.NOMBRE, B.NOMBRE, A.NENTRADA, A.NUMERO,
A.FSALIDA,
A.DELEGACION, A.CAMION, A.ORIGEN, A.DESTINO, A.MERCANCIA, A.TOTAL,
A.TONELADAS
FROM M_ASICAR A
LEFT JOIN M_MERCAN D ON A.MERCANCIA = D.CODIGO
LEFT JOIN M_DESTIN C ON A.DESTINO = C.CODIGO
LEFT JOIN M_DESTIN B ON A.ORIGEN = B.CODIGO
WHERE
(A.FSALIDA BETWEEN '01/01/03' AND '12/31/03') AND
(B.PROVINCIA = '28') AND
(C.PROVINCIA = '15') OR
(C.PROVINCIA = '27') OR
(C.PROVINCIA = '36')

ORDER BY A.FSALIDA ASC


LLevo ya horas y esto no me hace caso, hay alguna incoorencia en el
codigo,
los left join estan bien echos?¿


Respuesta Responder a este mensaje
#2 ulises
24/11/2004 - 16:42 | Informe spam
Una observación adicional es la forma como coloca los OR en
la claúsula WHERE, no sé si es eso lo que desea pero dada
la forma como lo está planteando traerá todos las filas que
tengan C.PROVINCIA = '27' ó C.PROVINCIA = '36'
independientemente de la fecha de salida FSALIDA, si no se
desea eso tendría que colocar paréntesis para no dejar duda
de la precedencia de los operadores.

Saludos,
Ulises

Ada, no explicas muy bien el problema, pero ya veo algo


que anda mal ahi y
es la fecha.

Las mismas las deberias pasar en formato ANSI, el codigo


quedaria de esta
forma:

SELECT D.NOMBRE, A.ANO, C.NOMBRE, B.NOMBRE, A.NENTRADA,


A.NUMERO, A.FSALIDA,
A.DELEGACION, A.CAMION, A.ORIGEN, A.DESTINO, A.MERCANCIA,


A.TOTAL,
A.TONELADAS
FROM M_ASICAR A
LEFT JOIN M_MERCAN D ON A.MERCANCIA = D.CODIGO
LEFT JOIN M_DESTIN C ON A.DESTINO = C.CODIGO
LEFT JOIN M_DESTIN B ON A.ORIGEN = B.CODIGO
WHERE
(A.FSALIDA BETWEEN '20030101' AND '20031231') AND
(B.PROVINCIA = '28') AND
(C.PROVINCIA = '15') OR
(C.PROVINCIA = '27') OR
(C.PROVINCIA = '36')

ORDER BY A.FSALIDA ASC



Salu2
Maxi


"ADA" escribió en el mensaje
news:
SELECT D.NOMBRE, A.ANO, C.NOMBRE, B.NOMBRE, A.NENTRADA,




A.NUMERO,
A.FSALIDA,
A.DELEGACION, A.CAMION, A.ORIGEN, A.DESTINO,




A.MERCANCIA, A.TOTAL,
A.TONELADAS
FROM M_ASICAR A
LEFT JOIN M_MERCAN D ON A.MERCANCIA = D.CODIGO
LEFT JOIN M_DESTIN C ON A.DESTINO = C.CODIGO
LEFT JOIN M_DESTIN B ON A.ORIGEN = B.CODIGO
WHERE
(A.FSALIDA BETWEEN '01/01/03' AND '12/31/03') AND
(B.PROVINCIA = '28') AND
(C.PROVINCIA = '15') OR
(C.PROVINCIA = '27') OR
(C.PROVINCIA = '36')

ORDER BY A.FSALIDA ASC


LLevo ya horas y esto no me hace caso, hay alguna




incoorencia en el
codigo,
los left join estan bien echos?¿






.

Respuesta Responder a este mensaje
#3 ADA
24/11/2004 - 16:46 | Informe spam
A ver perdon no entendi muy bien lo de los OR, lo que quiero es que coja
todos los datos entre las fechas y que tengan como destino '27','15'o'36' y
origen el '28', como deberia colocar los parentesis?¿

saludos y gracias

"ulises" escribió en el mensaje
news:99b401c4d23c$281a00c0$
Una observación adicional es la forma como coloca los OR en
la claúsula WHERE, no sé si es eso lo que desea pero dada
la forma como lo está planteando traerá todos las filas que
tengan C.PROVINCIA = '27' ó C.PROVINCIA = '36'
independientemente de la fecha de salida FSALIDA, si no se
desea eso tendría que colocar paréntesis para no dejar duda
de la precedencia de los operadores.

Saludos,
Ulises

Ada, no explicas muy bien el problema, pero ya veo algo


que anda mal ahi y
es la fecha.

Las mismas las deberias pasar en formato ANSI, el codigo


quedaria de esta
forma:

SELECT D.NOMBRE, A.ANO, C.NOMBRE, B.NOMBRE, A.NENTRADA,


A.NUMERO, A.FSALIDA,
A.DELEGACION, A.CAMION, A.ORIGEN, A.DESTINO, A.MERCANCIA,


A.TOTAL,
A.TONELADAS
FROM M_ASICAR A
LEFT JOIN M_MERCAN D ON A.MERCANCIA = D.CODIGO
LEFT JOIN M_DESTIN C ON A.DESTINO = C.CODIGO
LEFT JOIN M_DESTIN B ON A.ORIGEN = B.CODIGO
WHERE
(A.FSALIDA BETWEEN '20030101' AND '20031231') AND
(B.PROVINCIA = '28') AND
(C.PROVINCIA = '15') OR
(C.PROVINCIA = '27') OR
(C.PROVINCIA = '36')

ORDER BY A.FSALIDA ASC



Salu2
Maxi


"ADA" escribió en el mensaje
news:
SELECT D.NOMBRE, A.ANO, C.NOMBRE, B.NOMBRE, A.NENTRADA,




A.NUMERO,
A.FSALIDA,
A.DELEGACION, A.CAMION, A.ORIGEN, A.DESTINO,




A.MERCANCIA, A.TOTAL,
A.TONELADAS
FROM M_ASICAR A
LEFT JOIN M_MERCAN D ON A.MERCANCIA = D.CODIGO
LEFT JOIN M_DESTIN C ON A.DESTINO = C.CODIGO
LEFT JOIN M_DESTIN B ON A.ORIGEN = B.CODIGO
WHERE
(A.FSALIDA BETWEEN '01/01/03' AND '12/31/03') AND
(B.PROVINCIA = '28') AND
(C.PROVINCIA = '15') OR
(C.PROVINCIA = '27') OR
(C.PROVINCIA = '36')

ORDER BY A.FSALIDA ASC


LLevo ya horas y esto no me hace caso, hay alguna




incoorencia en el
codigo,
los left join estan bien echos?¿






.

Respuesta Responder a este mensaje
#4 Maxi
24/11/2004 - 16:49 | Informe spam
Hola, asi entonces:

SELECT D.NOMBRE, A.ANO, C.NOMBRE, B.NOMBRE, A.NENTRADA, A.NUMERO, A.FSALIDA,
A.DELEGACION, A.CAMION, A.ORIGEN, A.DESTINO, A.MERCANCIA, A.TOTAL,
A.TONELADAS
FROM M_ASICAR A
LEFT JOIN M_MERCAN D ON A.MERCANCIA = D.CODIGO
LEFT JOIN M_DESTIN C ON A.DESTINO = C.CODIGO
LEFT JOIN M_DESTIN B ON A.ORIGEN = B.CODIGO
WHERE
(A.FSALIDA BETWEEN '20030101' AND '20031231') AND
(B.PROVINCIA = '28') AND
(C.PROVINCIA = '15' OR
(C.PROVINCIA = '27' OR C.PROVINCIA = '36')

ORDER BY A.FSALIDA ASC



Salu2
Maxi


"ADA" escribió en el mensaje
news:
A ver perdon no entendi muy bien lo de los OR, lo que quiero es que coja
todos los datos entre las fechas y que tengan como destino '27','15'o'36'
y
origen el '28', como deberia colocar los parentesis?¿

saludos y gracias

"ulises" escribió en el mensaje
news:99b401c4d23c$281a00c0$
Una observación adicional es la forma como coloca los OR en
la claúsula WHERE, no sé si es eso lo que desea pero dada
la forma como lo está planteando traerá todos las filas que
tengan C.PROVINCIA = '27' ó C.PROVINCIA = '36'
independientemente de la fecha de salida FSALIDA, si no se
desea eso tendría que colocar paréntesis para no dejar duda
de la precedencia de los operadores.

Saludos,
Ulises

Ada, no explicas muy bien el problema, pero ya veo algo


que anda mal ahi y
es la fecha.

Las mismas las deberias pasar en formato ANSI, el codigo


quedaria de esta
forma:

SELECT D.NOMBRE, A.ANO, C.NOMBRE, B.NOMBRE, A.NENTRADA,


A.NUMERO, A.FSALIDA,
A.DELEGACION, A.CAMION, A.ORIGEN, A.DESTINO, A.MERCANCIA,


A.TOTAL,
A.TONELADAS
FROM M_ASICAR A
LEFT JOIN M_MERCAN D ON A.MERCANCIA = D.CODIGO
LEFT JOIN M_DESTIN C ON A.DESTINO = C.CODIGO
LEFT JOIN M_DESTIN B ON A.ORIGEN = B.CODIGO
WHERE
(A.FSALIDA BETWEEN '20030101' AND '20031231') AND
(B.PROVINCIA = '28') AND
(C.PROVINCIA = '15') OR
(C.PROVINCIA = '27') OR
(C.PROVINCIA = '36')

ORDER BY A.FSALIDA ASC



Salu2
Maxi


"ADA" escribió en el mensaje
news:
SELECT D.NOMBRE, A.ANO, C.NOMBRE, B.NOMBRE, A.NENTRADA,




A.NUMERO,
A.FSALIDA,
A.DELEGACION, A.CAMION, A.ORIGEN, A.DESTINO,




A.MERCANCIA, A.TOTAL,
A.TONELADAS
FROM M_ASICAR A
LEFT JOIN M_MERCAN D ON A.MERCANCIA = D.CODIGO
LEFT JOIN M_DESTIN C ON A.DESTINO = C.CODIGO
LEFT JOIN M_DESTIN B ON A.ORIGEN = B.CODIGO
WHERE
(A.FSALIDA BETWEEN '01/01/03' AND '12/31/03') AND
(B.PROVINCIA = '28') AND
(C.PROVINCIA = '15') OR
(C.PROVINCIA = '27') OR
(C.PROVINCIA = '36')

ORDER BY A.FSALIDA ASC


LLevo ya horas y esto no me hace caso, hay alguna




incoorencia en el
codigo,
los left join estan bien echos?¿






.





Respuesta Responder a este mensaje
#5 ulises
24/11/2004 - 16:54 | Informe spam
WHERE A.FSALIDA BETWEEN '20030101' AND '20031231'
AND B.PROVINCIA = '28'
AND ( C.PROVINCIA = '15' OR C.PROVINCIA = '27' OR
C.PROVINCIA = '36' )

Saludos,
Ulises

A ver perdon no entendi muy bien lo de los OR, lo que


quiero es que coja
todos los datos entre las fechas y que tengan como destino


'27','15'o'36' y
origen el '28', como deberia colocar los parentesis?¿

saludos y gracias

"ulises" escribió en el mensaje
news:99b401c4d23c$281a00c0$
Una observación adicional es la forma como coloca los OR en
la claúsula WHERE, no sé si es eso lo que desea pero dada
la forma como lo está planteando traerá todos las filas que
tengan C.PROVINCIA = '27' ó C.PROVINCIA = '36'
independientemente de la fecha de salida FSALIDA, si no se
desea eso tendría que colocar paréntesis para no dejar duda
de la precedencia de los operadores.

Saludos,
Ulises

Ada, no explicas muy bien el problema, pero ya veo algo


que anda mal ahi y
es la fecha.

Las mismas las deberias pasar en formato ANSI, el codigo


quedaria de esta
forma:

SELECT D.NOMBRE, A.ANO, C.NOMBRE, B.NOMBRE, A.NENTRADA,


A.NUMERO, A.FSALIDA,
A.DELEGACION, A.CAMION, A.ORIGEN, A.DESTINO, A.MERCANCIA,


A.TOTAL,
A.TONELADAS
FROM M_ASICAR A
LEFT JOIN M_MERCAN D ON A.MERCANCIA = D.CODIGO
LEFT JOIN M_DESTIN C ON A.DESTINO = C.CODIGO
LEFT JOIN M_DESTIN B ON A.ORIGEN = B.CODIGO
WHERE
(A.FSALIDA BETWEEN '20030101' AND '20031231') AND
(B.PROVINCIA = '28') AND
(C.PROVINCIA = '15') OR
(C.PROVINCIA = '27') OR
(C.PROVINCIA = '36')

ORDER BY A.FSALIDA ASC



Salu2
Maxi


"ADA" escribió en el mensaje
news:
SELECT D.NOMBRE, A.ANO, C.NOMBRE, B.NOMBRE, A.NENTRADA,




A.NUMERO,
A.FSALIDA,
A.DELEGACION, A.CAMION, A.ORIGEN, A.DESTINO,




A.MERCANCIA, A.TOTAL,
A.TONELADAS
FROM M_ASICAR A
LEFT JOIN M_MERCAN D ON A.MERCANCIA = D.CODIGO
LEFT JOIN M_DESTIN C ON A.DESTINO = C.CODIGO
LEFT JOIN M_DESTIN B ON A.ORIGEN = B.CODIGO
WHERE
(A.FSALIDA BETWEEN '01/01/03' AND '12/31/03') AND
(B.PROVINCIA = '28') AND
(C.PROVINCIA = '15') OR
(C.PROVINCIA = '27') OR
(C.PROVINCIA = '36')

ORDER BY A.FSALIDA ASC


LLevo ya horas y esto no me hace caso, hay alguna




incoorencia en el
codigo,
los left join estan bien echos?¿






.





.

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