Viva,
Preciso de fazer uma coisa, mas não sei bem como o fazer...
Tenho uma TABELA1 com os seguintes dados:
Cod::Prof1::Prof2::Prof3::Prof4
1::True::NULL::NULL::NULL
2::NULL::True::NULL::NULL
E tenho outra TABELA2 com os seguintes dados:
NIF::Cod::Prof1::Prof2::Prof3::Prof4
123::1::True::False::False::False
124::2::False::True::False::False
Estou a fazer um procedimento que verifica com um select o que eu coloco na TABELA1. Neste exemplo queria obter com um select os NIF da TABELA2 onde o Prof1 é True, independentemente dos outros valores na TABELA2.
SELECT * FROM TABELA2
WHERE
AND Prof1 = TABELA1.Prof1
AND Prof2 = TABELA1.Prof2
AND Prof3 = TABELA1.Prof3
AND Prof4 = TABELA1.Prof4;
A questão, como é que eu consigo fazer um select deste tipo, mesmo quando os campos na TABELA1 estão a NULL.
Desde já obrigado.
Como fazer um select que me resolva isto?
-
- Rank: Programador Sênior
- Mensagens: 49
- Registrado em: Seg, 13 Out 2008 9:01 am
- Localização: Lisboa
-
- Moderador
- Mensagens: 2016
- Registrado em: Qua, 12 Jan 2005 3:25 pm
- Localização: Araraquara - SP
Abraço,
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Brother,
Não sei o relacionamento entre estas tabelas,mas, se desejas PROF1 = True tanto na tabela 1 quanto na tabela 2, um Union talvez resolva o teu caso.
Veja se é isto que precisa e, qualquer coisa, manda pra gente.
Não sei o relacionamento entre estas tabelas,mas, se desejas PROF1 = True tanto na tabela 1 quanto na tabela 2, um Union talvez resolva o teu caso.
SELECT CAMPO1,CAMPO2,CAMPO3
FROM TABELA1
WHERE CAMPO1='True'
UNION
SELECT CAMPO1,CAMPO2,CAMPO3
FROM TABELA2
WHERE CAMPO1='True'
-
- Rank: Programador Sênior
- Mensagens: 49
- Registrado em: Seg, 13 Out 2008 9:01 am
- Localização: Lisboa
Viva,
Não me expliquei bem neste problema. Vou tentar explicar melhor a situação.
Tenho uma tabela1 com
ITEM_FUNC::PROFI_A P::ROF_B::PROF_C::PROF_D
XXX1::TRUE::__::__::__
XXX2::__::TRUE::__::__
XXX3::TRUE::__::__::__
* __ são campos a NULL
e uma tabela2 com
NIF::ITEM_FUNC::PROFI_A::PROFI_B::PROFI_C::PROFI_D
XXXXX1::XXX1::TRUE::FALSE::FALSE::FALSE
XXXXX1::XXX2::TRUE::TRUE::TRUE::TRUE
XXXXX1::XXX3::TRUE::FALSE::FALSE::TRUE
A tabela1 é uma tabela em que eu coloco os dados. Eu quero pesquisar NIF's que preencham os requisitos dispostos na tabela1. No exemplo da tabela2 o NIF XXXXX1 preenche os requisitos definidos na tabela1. O que eu queria fazer era enviar para uma linha o XXXXX1.
A minha questão. Como conseguirei fazer isto em procedimento?
Cumps
Não me expliquei bem neste problema. Vou tentar explicar melhor a situação.
Tenho uma tabela1 com
ITEM_FUNC::PROFI_A P::ROF_B::PROF_C::PROF_D
XXX1::TRUE::__::__::__
XXX2::__::TRUE::__::__
XXX3::TRUE::__::__::__
* __ são campos a NULL
e uma tabela2 com
NIF::ITEM_FUNC::PROFI_A::PROFI_B::PROFI_C::PROFI_D
XXXXX1::XXX1::TRUE::FALSE::FALSE::FALSE
XXXXX1::XXX2::TRUE::TRUE::TRUE::TRUE
XXXXX1::XXX3::TRUE::FALSE::FALSE::TRUE
A tabela1 é uma tabela em que eu coloco os dados. Eu quero pesquisar NIF's que preencham os requisitos dispostos na tabela1. No exemplo da tabela2 o NIF XXXXX1 preenche os requisitos definidos na tabela1. O que eu queria fazer era enviar para uma linha o XXXXX1.
A minha questão. Como conseguirei fazer isto em procedimento?
Cumps
- Toad
- Rank: DBA Pleno
- Mensagens: 253
- Registrado em: Sex, 18 Nov 2005 2:14 pm
- Localização: Seattle, WA
- Contato:
Matheus Gonçalves
matheus.dev
twitter.com/developer__c
matheus.dev
twitter.com/developer__c
E aí lopes_andre, tudo bem?
Cara, você precisa de um procedimento que verifique se, quando um atributo estiver como true [PROFI_A por exemplo], na tabela 1 esse mesmo atributo não é nulo, certo??
Você pode fazer um cursor percorrendo os dados da tabela2.
Para cara uma das linhas, você compara os atributos com os valores dos atributos da tabela1.
Os nomes das colunas são iguais em ambas as tabelas?
Cara, você precisa de um procedimento que verifique se, quando um atributo estiver como true [PROFI_A por exemplo], na tabela 1 esse mesmo atributo não é nulo, certo??
Você pode fazer um cursor percorrendo os dados da tabela2.
Para cara uma das linhas, você compara os atributos com os valores dos atributos da tabela1.
Os nomes das colunas são iguais em ambas as tabelas?
-
- Rank: Programador Sênior
- Mensagens: 49
- Registrado em: Seg, 13 Out 2008 9:01 am
- Localização: Lisboa
Viva, sim os nomes são iguais nas duas tabelas.
O meu problema é na forma de verificar se as linhas da tabela1 batem com as da tabela2. Nunca fiz nenhum cursor assim.
Desde já obrigado.
O meu problema é na forma de verificar se as linhas da tabela1 batem com as da tabela2. Nunca fiz nenhum cursor assim.
Desde já obrigado.
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Majestic-12 [Bot] e 5 visitantes