operador UNION com subquery Where.

08/10/2013

0

Boa tarde,

Estou tentando efetuar uma pesquisa unindo duas tabelas. Entretanto eu preciso que o usuário informe a data e o endereço (código de uma unidade) e estou usando a seguinte instrução que não está funcionando poi não filtra pelo endereço.

SELECT GPRS.E3TimeStamp, GPRS.ENDERECO, GPRS.RECALQ1
FROM GPRS
UNION
SELECT Pedras_Preciosas.E3TimeStamp, Pedras_Preciosas.ENDERECO, Pedras_Preciosas.RECALQ1
FROM Pedras_Preciosas

WHERE (( E3TimeStamp >= #<%DataInicial%># AND E3TimeStamp <= #<%DataFinal%># ) AND ( ENDERECO = <%ENDERECO%> ))

ORDER BY E3TimeStamp ASC



Vlw,
Samuel Silva
Samuel Silva

Samuel Silva

Responder

Posts

10/10/2013

Mariana Carvalho

nesse codigo tem todos os campos?
Responder

10/10/2013

Jefferson Santos

Porque não utilizar:

SELECT G.GPRS.E3TimeStamp, G.GPRS.ENDERECO, G.GPRS.RECALQ1, P.Pedras_Preciosas.E3TimeStamp, P.Pedras_Preciosas.ENDERECO, P.Pedras_Preciosas.RECALQ1
FROM GPRS G
INNER JOIN PEDRAS_PRECIOSAS P
ON
LIGAÇÃOTB1 = LIGAÇAOTB2
WHERE (( E3TimeStamp >= #<%DataInicial%>#
AND E3TimeStamp <= #<%DataFinal%># )
AND ( ENDERECO = <%ENDERECO%> ))
ORDER BY E3TimeStamp ASC
Responder

11/10/2013

Jair N.

Bom Dia, eu acho que seria "melhor" por subconsulta agrupada.


SELECT sq_union.*
FROM (SELECT GPRS.E3TimeStamp
, GPRS.ENDERECO
, GPRS.RECALQ1
FROM GPRS
UNION
SELECT Pedras_Preciosas.E3TimeStamp
, Pedras_Preciosas.ENDERECO
, Pedras_Preciosas.RECALQ1
FROM Pedras_Preciosas
) sq_union
WHERE (sq_union.E3TimeStamp >= #<%DataInicial%>#)
AND (sq_union.E3TimeStamp <= #<%DataFinal%># )
AND (sq_union.ENDERECO = <%ENDERECO%> )
ORDER BY sq_union.E3TimeStamp ASC;


Boa tarde,


Estou tentando efetuar uma pesquisa unindo duas tabelas. Entretanto eu preciso que o usuário informe a data e o endereço (código de uma unidade) e estou usando a seguinte instrução que não está funcionando poi não filtra pelo endereço.

SELECT GPRS.E3TimeStamp, GPRS.ENDERECO, GPRS.RECALQ1
FROM GPRS
UNION
SELECT Pedras_Preciosas.E3TimeStamp, Pedras_Preciosas.ENDERECO, Pedras_Preciosas.RECALQ1
FROM Pedras_Preciosas

WHERE (( E3TimeStamp >= #<%DataInicial%># AND E3TimeStamp <= #<%DataFinal%># ) AND ( ENDERECO = <%ENDERECO%> ))

ORDER BY E3TimeStamp ASC



Vlw,
Samuel Silva
Responder

11/10/2013

Alex Lekao

Ola Samuel, bom dia!!!

Tanto a sugestao do Jeferson quanto a sugestao do Jair, deverao atender a sua necessidade.

A sugestao do Jair, eh legal que vc consegue fazer algumas outras coisas que na anterior nao daria, e ate te aconselho a se acostumar em usa-la pq em muito casos ter ajudara muito.

e e Outra opcao do Jeferson tambem eh muito interessante, so lembrando em consideracao no uso dos joins para apresentacao dos joins, por exemplo se vai usar inner ou left, essas coisas, e normalmente quando se utiliza joins gera o "plano cartesiano" e com isso pode demorar a consulta.

Mas estara bem atendido em qqr umas das duas que escolher usar.

Abraco.

Alex - Lekao
Responder

11/10/2013

Samuel Silva

Pessoal Muito obrigado pela ajuda!
Abração
Responder

16/10/2013

Jefferson Santos

Alex,
Acredito que este artigo pode mudar sua ideia quanto ao uso de Join
Ele ajuda a desvendar alguns mitos do uso de Join.

[url]http://gustavomaiaaguiar.wordpress.com/2010/09/06/mitos-do-sql-server-%E2%80%93-fazer-juncoes-via-inner-join-e-mais-rapido-que-na-clausula-where-parte-i/[/url]
Responder

16/10/2013

Alex Lekao

Oi Jefferson, boa tarde!!!

Obrigado pelo artigo.

Embora ja o conheca, mas dei uma olhada novamente. rsrsrsr

eu particularmente so faco codigos usando joins, nao tenho muito problema com ele, ate prefiro e tenho a impressao que o SQL trate melhor as consultas usando os joins que agrupando as tabelas na clausula from.

O blog do Gustavo faz parte dos meus favoritos, sempre utilizo dicas dada por ele, o cara eh muito bom.

A minha sugestao de cuidado era para que ele obtivesse o melhor resultado e analisasse bem a consulta e utilizacao do join, pq dependendo do que fizer podera apresentar dados nao requeridos, etc.

Normalmente eu utilizo essa figura para ajudar o pessoal a entender os joins, peguei num site de alguem que nao me lembro onde nem quem... rssr
https://skydrive.live.com/?cid=23dbeab240eb869a&id=23DBEAB240EB869A%211510&sff=1

Bom eh isso ai...

outra vez muito obrigado.

Abraco.

Alex - Lekao
Responder

16/10/2013

Jefferson Santos

Obrigado pela imagem.
Também a utilizo no meu ambiente de trabalho e no dia a dia.
Depois de muita pratica fica no sangue.
Responder

16/10/2013

Alex Lekao

kkkkk....

acho que no meu ainda nao entrou totalmente... rsrsr

nao consigo me dedicar tanto... meu trabalho toma muito tempo... rsrsr
Responder

16/10/2013

Jefferson Santos

Pow eu trabalho direto com banco de dados e tenho o Devmedia como estudo, tento conselhar os dois.

Responder

16/10/2013

Alex Lekao

no meu caso o trabalho com o banco vem praticamente em terceiro, quarto, .... lugar... rsrsr

eu uso muito aqui para aprendizado, e tento ajudar o pessoal naquilo que sei e sempre de olho no que estao postando para aprender mais... rsrsr

e uma forma de aprender mais e ajudar... rsrsr
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar