pegar no select com union epenas o valor de um union

30/04/2012

0

Tenho a seguinte query.

selec a from tabela union select b from tabela union select c from tabela

O resultado seria:

a|b|c

Tem como eu carregar no C#, usando oracleDatareader(), somente o valor de c? Se sim, como eu faria isso?

Pjava

Pjava

Responder

Posts

01/05/2012

Joel Rodrigues

Rapaz, o UNION é juntar registros e não campos, certo?
Nesse caso você terá como resultado, algo assim:
Registro A
Registro A
Registro A
Registro B
Registro B
Registro B
Registro C
Registro C
Registro C

Porém, sem distinção entre eles. Para distinguí-los, você pooderia, por exemplo, colocar mais um campo identificando o tipo do registro. Algo mais ou menos assim:
SELECT a, ´A´ FROM tabela_a
UNION
SELECT b, ´B´ FROM tabela_b
UNION
SELECT c, ´C´ FROM tabela_a

Com isso, o resultado passaria a ser:
Registro A, A
Registro A, A
Registro A, A
Registro B, B
Registro B, B
Registro B, B
Registro C, C
Registro C, C
Registro C, C

Aí você verificaria o valor do segundo campo e, caso fosse C, você faria o que precisasse.

Espero que ajude.
Boa sorte.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar