operador UNION com subquery Where.
08/10/2013
0
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
Posts
10/10/2013
Jefferson Santos
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
11/10/2013
Jair N.
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;
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
11/10/2013
Alex Lekao
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
16/10/2013
Jefferson Santos
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]
16/10/2013
Alex Lekao
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
16/10/2013
Jefferson Santos
Também a utilizo no meu ambiente de trabalho e no dia a dia.
Depois de muita pratica fica no sangue.
16/10/2013
Alex Lekao
acho que no meu ainda nao entrou totalmente... rsrsr
nao consigo me dedicar tanto... meu trabalho toma muito tempo... rsrsr
16/10/2013
Jefferson Santos
16/10/2013
Alex Lekao
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
Clique aqui para fazer login e interagir na Comunidade :)