Fórum SQL com UNION #48070
16/11/2004
0
Afinal, quando eu posso usar ORDER BY com UNION no Interbase 7.1??
Postei em um topico anterior mas ninguem respondeu... Tentei aproveitar o topico de uma colega, mas...
[]´s
Michaell
Curtir tópico
+ 0Posts
16/11/2004
Sremulador
Gostei + 0
16/11/2004
Michaell
Tenho, supostamente, três tabelas:
1) ENTRADAS (CODIGO INTEGER, DATA_CADASTRO TIMESTAMP, QUANTIDADE INTEGER);
2) SAIDAS (CODIGO INTEGER, DATA TIMESTAMP, QUANTIDADE INTEGER);
3) INVENTARIO (CODIGO, DATA TIMESTAMP, QUANTIDADE INTEGER).
Se eu fizer os 2 UNIONS no meu comando SQL colocando os ORDER BY como você disse, não funciona, dá erro...
Poderia me dar um exemplo?
[]´s
Gostei + 0
16/11/2004
Gandalf.nho
Gostei + 0
17/11/2004
Michaell
Assim?
SELECT R.CODIGO, R.DATA_CADASTRO, RP.QUANTIDADE FROM REQUISICAO R INNER JOIN REQUISICAO_PRODUTO RP ON RP.REQUISICAO = R.CODIGO WHERE RP.PRODUTO = 1 UNION SELECT E.CODIGO, E.DATA_CADASTRO, EP.QUANTIDADE_NOTA FROM ENTRADA E INNER JOIN ENTRADA_PRODUTO EP ON EP.ENTRADA = E.CODIGO WHERE EP.PRODUTO = 1 ORDER BY R.DATA_CADASTRO, E.DATA_CADASTRO
Erro: ´Invalid command, invalid ORDER BY CLAUSE´
O que está errado em meu comando?
[]´s
Gostei + 0
17/11/2004
Gandalf.nho
SELECT
R.CODIGO,
R.DATA_CADASTRO,
RP.QUANTIDADE
FROM REQUISICAO R
INNER JOIN REQUISICAO_PRODUTO RP
ON RP.REQUISICAO = R.CODIGO
WHERE RP.PRODUTO = 1
UNION
SELECT
E.CODIGO,
E.DATA_CADASTRO,
EP.QUANTIDADE_NOTA
FROM ENTRADA E
INNER JOIN ENTRADA_PRODUTO EP
ON EP.ENTRADA = E.CODIGO
WHERE EP.PRODUTO = 1
ORDER BY DATA_CADASTRO
Gostei + 0
17/11/2004
Afarias
Exatamente!
O ORDER BY só aparece 1 vez no SELECT e é a última cláusula
Na verdade vc pode se referir (e deve, especialmente em JOINS) mas o problema ai é o UNION, neste caso deve ser usada a posição do campo:
SELECT {...} ORDER BY 2
T+
Gostei + 0
17/11/2004
Gandalf.nho
Gostei + 0
17/11/2004
Afarias
;-)
Gostei + 0
18/11/2004
Michaell
Agora foi... Valeu, pessoal! Ufa... :P
[]´s
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)