Como saber o nome da tabela em union ???

Firebird

18/03/2004

Estou fazendo um union porem quero fazer umas alterações nas tabelas apartir do union como vou saber em que tabela devo dar um update.


Sremulador

Sremulador

Curtidas 0

Respostas

Sremulador

Sremulador

18/03/2004

Achei galera

SELECT [b:0eb518b6d5]RDB$RELATION_NAME[/b:0eb518b6d5], CACD, CMCA, PDDS, CMVV, CMQT, CMPD, CAHO, CADA, PDTA FROM CONTA_AMB_MATMED CAD, RDB$RELATIONS
INNER JOIN CONTA_AMB_MATMED_MESTRE CMM ON (CMM.CACD=CAD.CMCA)
INNER JOIN PRODUTO PRD ON (PRD.PDCD=CMPD)
WHERE CMM.CAAM=CAD.CMAM AND RDB$RELATION_NAME=´CONTA_AMB_MATMED´
UNION ALL
SELECT [b:0eb518b6d5]RDB$RELATION_NAME[/b:0eb518b6d5], TEAM, CATE, TSDS, CAVL, CAQT, CATD, TEHO, TEDA, TSTA FROM CONTA_AMB_TAXA CAT, RDB$RELATIONS
INNER JOIN CONTA_AMB_TAXA_MESTRE CMM ON (CMM.TECD=CAT.CATE)
INNER JOIN TAXAS TXS ON (TXS.TSCD=CAT.CATD)
WHERE CMM.TEAM=CAT.CAAM AND [b:0eb518b6d5]RDB$RELATION_NAME[/b:0eb518b6d5]=´CONTA_AMB_TAXA´
UNION ALL
SELECT [b:0eb518b6d5]RDB$RELATION_NAME[/b:0eb518b6d5], CEAM, CECP, PCDS, CEVL, CEQT, CEPC, CPHO, CPDA, PCAT FROM CONTA_AMB_PROCED, RDB$RELATIONS
INNER JOIN PROCEDIMENTO PCD ON (PCD.PCCD=CEPC)
INNER JOIN CONTA_AMB_PROCED_MESTRE CAM ON(CAM.CPCD=CECP)
WHERE CEAM=CAM.CPAM AND [b:0eb518b6d5]RDB$RELATION_NAME[/b:0eb518b6d5]=´CONTA_AMB_PROCED´


GOSTEI 0
Delphi32

Delphi32

18/03/2004

Olá! Já tinha visto esse tópico há um tempão, mas só agora estou tendo que usar esse código que você postou. Aí surgiu uma dúvida:
Da forma como está escrito a SQL ele retorna primeiro os registros da primeira tabela, depois da segunda e depois da terceira. Tem como ele pegar todos os registros e ordenar por um ou mais campos, ou melhor, colocar um ORDER BY 2, por exemplo, pra organizar pelo segundo campo de cada uma das tabelas?

Até!


GOSTEI 0
Gandalf.nho

Gandalf.nho

18/03/2004

Tem sim, coloque o ORDER BY no final da SQL que ele irá funcionar.


GOSTEI 0
POSTAR