Como saber o nome da tabela em union ???
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
Curtidas 0
Respostas
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´
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
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é!
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
18/03/2004
Tem sim, coloque o ORDER BY no final da SQL que ele irá funcionar.
GOSTEI 0