Jump to content


Photo

Help Em Uma Sql


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

#1 Luis Otávio

Luis Otávio

    Super Veterano

  • Usuários
  • 3113 posts
  • Sexo:Masculino
  • Localidade:Porto Alegre
  • Interesses:- Desenvolvimento de aplicações Web com linguagem server-side PHP.

    - Desenvolvimento de aplicações Web com linguagem cliente-side JavaScript, conhecedor e utilizador da biblioteca jQUERY e todas suas características.

    - Otimização de Desempenho aplicados a performance de banco de dados Mysql.

    - Otimização de Desempenho para servidores Web utilizando-se como Webserver NGINX em conjunto com Varnish.

    - Sólidos conhecimentos no CMS WordPress para novas implementações, manutenção, criação e otimização de Plugins.

    - Práticas de atendimento, relacionamento e suporte ao cliente. Trabalhando voltado ao público desde o lançamento da empresa iPORTO.COM, criando laços e vínculos com os mais de Mil clientes da empresa e os braços do grupo.

Posted 16/12/2005, 10:17

Seguinte SQL: [ Funcionando ]

"Select TOP 5 friends.userid,friends.AmigoNome,friends.AmigoCod, fotos.* from friends,fotos where friends.userid = "&IDDoUsuario&" AND fotos.por = friends.AmigoCod"



SQL que da erro, mas é o que eu queria.. por que não quero que repita o "AmigoCod" isso, é se tiver duas pessoas diferentes, mas estas duas pessoas aparecam na lista umas 50 vezes... so tem que me gerar dois resultados.. tentei assim

"Select TOP 5 friends.userid,friends.AmigoNome,friends.AmigoCod, fotos.* from friends,fotos where friends.userid = "&IDDoUsuario&" AND fotos.por = friends.AmigoCod GROUP BY friends.AmigoCod"


e da o seguinte erro:

Microsoft OLE DB Provider for SQL Server (0x80040E14)
Column 'friends.userid' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.


Alguém sabe por que? como arrumo...
* Otávio Nogueira
* Administração e Configuração de Servidores;
* Combinação Perfeita: NGINX + PHP + VARNISH + HAPROXY
* otavio*iporto.com ~ Tel: +55 51 3366 0177 | +55 51 4063 7343 |
* @iporto

#2 Maracuja

Maracuja

    12 Horas

  • Usuários
  • 144 posts
  • Sexo:Não informado

Posted 16/12/2005, 10:54

Vc tem 3 campos no seu select

friends.userid,friends.AmigoNome,friends.AmigoCod

e apenas um campo na clausa grou by

friends.AmigoCod


O que é errado, pois todos os campos que vc seleciona devem estar no group by,
então o correto seria

group by friends.AmigoCod, friends.userid,friends.AmigoNome

that's it!!!
------------------------
Agora ainda mais Java na veia (JSP, Servlet, EJB)

"E todo o dinheiro que fizeram, jamais comprará de volta suas almas" BOB DYLAN

"Eu uso o google e não desisto nunca" MARACUJA

#3 Luis Otávio

Luis Otávio

    Super Veterano

  • Usuários
  • 3113 posts
  • Sexo:Masculino
  • Localidade:Porto Alegre
  • Interesses:- Desenvolvimento de aplicações Web com linguagem server-side PHP.

    - Desenvolvimento de aplicações Web com linguagem cliente-side JavaScript, conhecedor e utilizador da biblioteca jQUERY e todas suas características.

    - Otimização de Desempenho aplicados a performance de banco de dados Mysql.

    - Otimização de Desempenho para servidores Web utilizando-se como Webserver NGINX em conjunto com Varnish.

    - Sólidos conhecimentos no CMS WordPress para novas implementações, manutenção, criação e otimização de Plugins.

    - Práticas de atendimento, relacionamento e suporte ao cliente. Trabalhando voltado ao público desde o lançamento da empresa iPORTO.COM, criando laços e vínculos com os mais de Mil clientes da empresa e os braços do grupo.

Posted 16/12/2005, 11:08

então não é o group by q tenho que usar?

pq eu quero assim tem na tabela

1
1
1
3
3
3
3
3
3

eu queria q ele reportasse

1
3


colocando todos os campos.. é a mesma coisa q naum ter o group by.. hehe, pelo menos foi o resultado q obtive....
tem outra forma de fazer entaum?
* Otávio Nogueira
* Administração e Configuração de Servidores;
* Combinação Perfeita: NGINX + PHP + VARNISH + HAPROXY
* otavio*iporto.com ~ Tel: +55 51 3366 0177 | +55 51 4063 7343 |
* @iporto

#4 Maracuja

Maracuja

    12 Horas

  • Usuários
  • 144 posts
  • Sexo:Não informado

Posted 16/12/2005, 12:43

Vc quer tipo fazer um SUM em alguma coluna? caso contrário utilize select distinct, que ai não haverão repetições.
------------------------
Agora ainda mais Java na veia (JSP, Servlet, EJB)

"E todo o dinheiro que fizeram, jamais comprará de volta suas almas" BOB DYLAN

"Eu uso o google e não desisto nunca" MARACUJA

#5 Luis Otávio

Luis Otávio

    Super Veterano

  • Usuários
  • 3113 posts
  • Sexo:Masculino
  • Localidade:Porto Alegre
  • Interesses:- Desenvolvimento de aplicações Web com linguagem server-side PHP.

    - Desenvolvimento de aplicações Web com linguagem cliente-side JavaScript, conhecedor e utilizador da biblioteca jQUERY e todas suas características.

    - Otimização de Desempenho aplicados a performance de banco de dados Mysql.

    - Otimização de Desempenho para servidores Web utilizando-se como Webserver NGINX em conjunto com Varnish.

    - Sólidos conhecimentos no CMS WordPress para novas implementações, manutenção, criação e otimização de Plugins.

    - Práticas de atendimento, relacionamento e suporte ao cliente. Trabalhando voltado ao público desde o lançamento da empresa iPORTO.COM, criando laços e vínculos com os mais de Mil clientes da empresa e os braços do grupo.

Posted 16/12/2005, 12:49

é.. acho que é o distinct que quero... naum quero somar.. quer "unir" coisas repetidas...

tipo

melao
melao
melao
melancia
melancia
melancia
melancia
melancia


resposta

melao
melancia


e como eu colocaria o distinct nesta minha query?
* Otávio Nogueira
* Administração e Configuração de Servidores;
* Combinação Perfeita: NGINX + PHP + VARNISH + HAPROXY
* otavio*iporto.com ~ Tel: +55 51 3366 0177 | +55 51 4063 7343 |
* @iporto

#6 Maracuja

Maracuja

    12 Horas

  • Usuários
  • 144 posts
  • Sexo:Não informado

Posted 16/12/2005, 14:29

Por exemplo

SELECT a.codigo_projeto FROM form_agenda_treinamento a 

me retorna

12
12
12


SELECT DISTINCT a.codigo_projeto FROM form_agenda_treinamento a 

me retorna

12

que é como vc deseja!!!

note que é bem simples... mais uma coisa... isso é para BD Oracle.... não tenho certeza se esse comando faz parte da linguagem padrão ANSI.... mas veja se funciona para o seu BD...
------------------------
Agora ainda mais Java na veia (JSP, Servlet, EJB)

"E todo o dinheiro que fizeram, jamais comprará de volta suas almas" BOB DYLAN

"Eu uso o google e não desisto nunca" MARACUJA




1 user(s) are reading this topic

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

IPB Skin By Virteq