Jump to content


Photo

Condição Sql


  • Faça o login para participar
7 replies to this topic

#1 Eu_Nana

Eu_Nana

    12 Horas

  • Usuários
  • 291 posts
  • Sexo:Feminino
  • Localidade:SP

Posted 26/06/2009, 16:45

Olá pessoal

Tenho uma tabela com vários campos entre eles existe a coluna1 e coluna2, na coluna1 pode possuir os seguintes valores: 1, 2, 3, 4, 5,6 cadastrados não necessariamente nessa ordem. Na coluna2 também pode possuir os valores: 1, 2, 3, 4, 5,6 também não necessariamente nessa ordem.



Consegui fazer essa Consulta SQL para a coluna1, porém não consigo fazer para as duas colunas



Bom quero somar as duas colunas onde o valor for igual a 1 por exemplo.


Espero que me ajudem....

#2 Dudu

Dudu

    Viva la vida

  • Usuários
  • 1437 posts
  • Sexo:Masculino
  • Localidade:Uberlândia - MG
  • Interesses:PHP

Posted 26/06/2009, 17:26

Tópico movido


Movido para: MySQL



Até mais ^_^

Fórum WMO - Equipe de Desenvolvimento / Banco de Dados - Moderador


Twitter: HostCheap


#3 '' sem.Ponto

'' sem.Ponto

    Super Veterano

  • Ex-Admins
  • 2098 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte

Posted 26/06/2009, 17:26

SELECT coluna1+coluna2 as soma FROM tabela

http://dev.mysql.com...-functions.html

(ok2)
att,
Muller Dias
ex-administrador Fórum WMO

#4 Eu_Nana

Eu_Nana

    12 Horas

  • Usuários
  • 291 posts
  • Sexo:Feminino
  • Localidade:SP

Posted 29/06/2009, 07:57

SELECT coluna1+coluna2 as soma FROM tabela

http://dev.mysql.com...-functions.html

(ok2)


Ok, mais eu quero somar as duas colunas onde o valor for igual a 1 por exemplo. Dessa forma q me passou esta somando da seguinte forma: pega o valor da coluna1 e soma com o valor da coluna 2. E quero "varrer" a tabela inteira e por exemplo: Selecionei o curso MySQL cujo id=1, ou seja ele vai "varrer" a coluna1 e coluna2 e procurar por valores iguais a 1 e somar. Assim por diante....

Entendeu?

#5 '' sem.Ponto

'' sem.Ponto

    Super Veterano

  • Ex-Admins
  • 2098 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte

Posted 29/06/2009, 09:53

Não deu para entender o que você quer não... :ponder:

SELECT coluna1+coluna2 as soma FROM tabela WHERE coluna1='1' AND coluna2='1'

Isso?
att,
Muller Dias
ex-administrador Fórum WMO

#6 Eu_Nana

Eu_Nana

    12 Horas

  • Usuários
  • 291 posts
  • Sexo:Feminino
  • Localidade:SP

Posted 29/06/2009, 10:07

Não deu para entender o que você quer não... :ponder:

SELECT coluna1+coluna2 as soma FROM tabela WHERE coluna1='1' AND coluna2='1'

Isso?


Olha só eu tenho uma tabela com os seguintes campos: id_curso, nome, email, curso1 e curso2;


Segue abaixo o esquema +- da tabela.....mais tb estou enviando uma imagem em anexo de minha tabela
curso1| curso2
1 | 6
6 | 2
4 | 1
1 | 2
1 | 1

Quero somar qnts pessoas selecionaram o curso com id=1 por exemplo, tanto na coluna do curso1 quanto curso2.....entedeu?

Attached Files



#7 '' sem.Ponto

'' sem.Ponto

    Super Veterano

  • Ex-Admins
  • 2098 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte

Posted 29/06/2009, 10:53

Agora eu entendi...

Não tem nada de soma aí, isso que me confundiu...

Veja:

SELECT * FROM tabela WHERE curso1='1' OR curso2='1'

Pronto, só retornará as linhas que tiverem os campos curso1 ou curso2 preenchidos com o id 1. Para contar as linhas retornadas, se você estiver trabalhando com PHP, pode usar a função mysql_num_rows().

(ok2)
att,
Muller Dias
ex-administrador Fórum WMO

#8 Eu_Nana

Eu_Nana

    12 Horas

  • Usuários
  • 291 posts
  • Sexo:Feminino
  • Localidade:SP

Posted 29/06/2009, 11:42

Agora eu entendi...

Não tem nada de soma aí, isso que me confundiu...

Veja:

SELECT * FROM tabela WHERE curso1='1' OR curso2='1'

Pronto, só retornará as linhas que tiverem os campos curso1 ou curso2 preenchidos com o id 1. Para contar as linhas retornadas, se você estiver trabalhando com PHP, pode usar a função mysql_num_rows().

(ok2)


Bom eu fiz aqui e deu certo .....porém minha consulta sql esta assim veja:

select nome, nome_curso, curso1, count(*) from cursos inner join cursos_selecionados on cursos.idcursos=cursos_selecionados.curso1 where idcursos='$cursos' group by nome, nome_curso, curso1;

Bom para realizar essa consulta.....tenho um combo de select
Selecione uma Curso:                                          Selecione                        Curso PHP                        Curso MySQL                        Curso PostGree                        Curso JSP                        Curso JavaScript                       	Curso Java

Ou seja, de acordo com o id selecionado pela pessoa.....como faço para utilizar essa dica que vc me passou no meu sql acima?

Valew pela ajuda... ;)

Agora eu entendi...

Não tem nada de soma aí, isso que me confundiu...

Veja:

SELECT * FROM tabela WHERE curso1='1' OR curso2='1'

Pronto, só retornará as linhas que tiverem os campos curso1 ou curso2 preenchidos com o id 1. Para contar as linhas retornadas, se você estiver trabalhando com PHP, pode usar a função mysql_num_rows().

(ok2)


Bom eu fiz aqui e deu certo .....porém minha consulta sql esta assim veja:

select nome, nome_curso, curso1, count(*) from cursos inner join cursos_selecionados on cursos.idcursos=cursos_selecionados.curso1 where idcursos='$cursos' group by nome, nome_curso, curso1;

Bom para realizar essa consulta.....tenho um combo de select
Selecione uma Curso:                                          Selecione                        Curso PHP                        Curso MySQL                        Curso PostGree                        Curso JSP                        Curso JavaScript                       	Curso Java

Ou seja, de acordo com o id selecionado pela pessoa.....como faço para utilizar essa dica que vc me passou no meu sql acima?

Valew pela ajuda... ;)



Oiee Consegui resolver o problema acima.....

Mais deixa eu te fazer outra pergunta......preciso fazer o seguinte ainda......

Tipo eu armazeno numa variavel o numero total de pessoas que escolheram o curso de id=1 por exemplo, dae divido por 2 para exibir metade dos nomes em uma coluna e a outra metade logo abaixo..... Igual a esta página:Escola Coteca Aparecida

Porém ele só esta fazendo isso quando possui um numero redondo....por exemplo 10 pessoas escolheram o curso de id=1, quando possui um numero assim ele divide e joga em colunas diferentes.....mais se tiver 9 pessoas ele realiza a divisão só que mantém os nomes na mesma coluna.......veja meu código completo:

include "include/conexao.php";        	$cursos = $_POST['cursos'];							if(!empty($cursos))	{		$sql = "select nome, nome_curso, curso1, count(*) from cursos inner join cursos_selecionadas on cursos.idcursos=cursos_selecionadas.curso1 where curso1='$cursos' or oficina2='$cursos' group by nome, nome_curso, curso1";															$rs = mysql_query($sql,$con) or die (mysql_error());  ?> 					$qtd=round(mysql_num_rows($rs)).'';											$calcula=$qtd/2;											$i=0; 					while($linha = mysql_fetch_array($rs))	{						$nome_bd = $linha['nome'];								$nome_oficina = $linha['nome_oficina'];																		 		if($i==$calcula)		{ 								    		    echo "                  		                        		  ";    			$i=0;  		}					$i++;						?>      '?>                                						               }//fim do while			           }//fim do if    mysql_close($con);?>


Oq eu percebi é que não esta entrando no "if", quando ele encontra um valor quebrado por exemplo 9.....se ele encontrar um valor total 10 ele entra dentro do if

Se puder me ajudar...... :huh:




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq