Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
ola Pessoal,Não tenho muitos conhecimentos em SQL , diria que sei me virar , mas agora estou tendo um problema de prosseguir com o meu aplicativo , pois eu preciso dar um comando em SQL para selecionar varias tabelas, o que eu preciso é o seguinte:- Selecionar os dados de 2 Tabelas , porem , eu só quero os dados da 1º tabela se o valor da 2º tabela for igual a 1 ou TRUESimples né ... ??? - Mas não para por aí .... Agora vem a parte mais complicada , pelo menos para mim :-(Dentro da minha tabela existem 4 colunas , sendo cada 1 com a sua tabela TRUE/FALSE , então no total eu tenho 8 colunas.Então como eu posso fazer um filtro para selecionar um valor existente dentro dessas tabelas , sendo que somente seja IGUAL a sua respectiva tabela TRUE ???Alguem poderia me ajudar !?Obrigado.
ola Paulo,
Realmente acho que ficou confuso mesmo , pq nao consegui entender o seu codigo ... http://forum.imasters.com.br/public/style_emoticons/default/cry.gif
Bom, eu tenho uma tabela chamada: TBL_CLIENTES
Dentro dela eu tenho varios campos, porem vamos falar dos campos que eu quero, sao eles:
Agora vamos ao codigo.
Eu preciso fazer uma busca de um determinado "EMAIL" , e esse EMAIL , pode estar em qualquer um desses campos. Porem , eu so quero os EMAIL que estão com o Check = TRUE
Se for TRUE a msg de retorno sera verdadeira , ou seja, o email existe e terei resultado do EMAIL na minha pesquisa. Porem se for FALSE o resultado tera que ser de EMAIL INEXISTENTE. Na verdade o email existe na tabela , mas o resultado se for FALSE nao podera ser verdadeiro.
Acho que agora ficou mais facil né !? :-)
Para ver se o email existe , eu estava usando o seguinte comando:
"SELECT email_resp , email_tec2 , email_tec1 , email_cob FROM tbl_clientes where email_resp AND email_tec2 AND email_tec1 AND email_cob = '" & email & "'" , onde email é uma variavel em ASP.
Ate ai facil ... ele faz uma pesquisa apenas dos emails , mas eu preciso juntar essa pesquisa com o seu CHECKBOX de cada um.
Desde já agradeço pela ajuda.
Obrigado.
utilize o comando CASE WHEN [condicao] THEN VALOR1 ELSE VALOR2 END
select campo1, CASE WHEN check_resp = 1 THEN email_resp ELSE 'inexistente' END as campo2, campo3 from tabela where blablabla....
veja: http://forum.i evolution.com.br/index.php?showtopic=1974
Cara
Sua explicação está mais clara agora. Mas uma coisa você omitiu: "Somente um campo de email está preenchido ou serão todos"?
Considerei q todos os campos de email estão preenchidos, e o status (TRUE/FALSE) que indica a validade do email. Irá ser exibido todos os dados independente de onde esteja gravado.
Usei o case que foi falado acima.
Irá imprimir algo do tipo,
Email | Status
--------------------------- | ----------------
teste@email.com | Existente
teste@imasters.com | Inexistente
cara@email.com | Existente
teste@email.com | Existente
SELECT 'Email' = email_resp,'Status' = CASE WHEN check_resp = 1 THEN 'Existente' ELSE 'inexistente' ENDFROM TBL_CLIENTESWHERE email_resp = @email UNIONSELECT 'Email' = email_tec1,'Status' = CASE WHEN ENDcheck_tec1 = 1 THEN 'Existente' ELSE 'Inexistente' ENDFROM TBL_CLIENTESWHERE email_tec1 = @email UNIONSELECT 'Email' = email_tec2,'Status' = CASE WHEN check_tec2 = 1 THEN 'Existente' ELSE 'Inexistente' ENDFROM TBL_CLIENTESWHERE email_tec2 = @email UNIONSELECT 'Email' = email_cob,'Status' = CASE WHEN check_cob = 1 THEN 'Existente' ELSE 'Inexistente' ENDFROM TBL_CLIENTESWHERE email_cob = @email
Espero que tenha ajudado
Cara ,Ficou meio confuso isso ao mas acho q se você usar o union deva funcionar.Explique melhor que posso te ajudar melhor tbm.select T1.campo1, T1.campo2, T1.campo3, T1.campo4From tabela1 as T1JOIN tabela1 as T2 on T1.campo1 = T2.campo1AND T2.campo1 = 'TRUE'UNIONselect T1.campo1, T1.campo2, T1.campo3, T1.campo4From tabela1 as T1JOIN tabela1 as T2 on T1.campo2 = T2.campo2AND T2.campo2 = 'TRUE'UNIONselect T1.campo1, T1.campo2, T1.campo3, T1.campo4From tabela1 as T1JOIN tabela1 as T2 on T1.campo3 = T2.campo3AND T2.campo1 = 'TRUE'UNIONselect T1.campo1, T1.campo2, T1.campo3, T1.campo4From tabela1 as T1JOIN tabela1 as T2 on T1.campo4 = T2.campo4AND T2.campo1 = 'TRUE'Espero que tenha ajudado.